<?php

namespace App\PackagesApi\Docs\v3;

class FeedApiDoc extends AbstractV3Doc
{
	/**
	 * @return array
	 */
    public static function endPoints()
    {
        return [
            'title' => 'Feed',
            'endpoints' => [
                [
                    'title' => 'Profile',
                    'desc' => 'Get user profile feed',

                    'route' => route('feed.profile'),
                    'method' => 'GET',
                    'headers' => self::middlewareHeaders(),
                    'parameters' => [
                        ['name' => 'locked', 'desc' => '- 0 for open/hatched capsules, 1 for locked capsules'],
                        ['name' => 'from_date', 'desc' => 'Open date'],
                        ['name' => 'user', 'desc' => 'Other User ID'],
                    ],

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'capsules' => [
                                    [
                                        "media_url" => "null | Video url [returns null while capsule is locked]",

                                        "cap_id" => '1 - only for test',
                                        "id" => '3ff878a3-c7c5-4f9a-ac7d-5c69714424b8',

                                        "capsule_status" => 2,

                                        "is_private" => true,
                                        "opens_at" => 'Y-m-d H:i:s',
                                        "created_at" => 'Y-m-d H:i:s',

                                        "caption" => 'This is caption',
                                        "is_complete" => true,
                                        "is_blocked" => false,

                                        "is_my_capsule" => true,

                                        "liked_by_me" => true,
                                        "subscribed_by_me" => true,

                                        "is_tagged" => true,
                                        "is_removed" =>  true,

                                        "owner" => [
                                            'id' => '3ff878a3-c7c5-4f9a-ac7d-5c69714424b2',
                                            'name' => 'Nickname',
                                            'image_url' => 'If set, avatar URL thumb'
                                        ],

                                        "preview" => [
                                            'width' => 300,
                                            'height' => 300,
                                            'url' => 'URL of capsule preview',
                                        ],

                                        "thumbnail" => [
                                            'width' => 300,
                                            'height' => 300,
                                            'url' => 'URL of capsule cropped preview if set',
                                        ],
                                    ]
                                ]
                            ],
                        ]
                    ],
                ],

                [
                    'title' => 'Initial TimeLine',
                    'desc' => 'Get user capsules (timeline, own capsules, friend capsules, subscrbed, etc.)',

                    'route' => route('feed.timeline-initial'),
                    'method' => 'GET',
                    'headers' => self::middlewareHeaders(),

                    'response' => [
                          200 => [
                              'headers' => self::responseHeaders(),
                              'body' => [
                                  'success' => true,
                                  'total_past' => 10,
                                  'total_future' => 10,
                                  'capsules' => [
                                      [
                                          "cap_id" => '1 - only for test',
                                          "id" => '3ff878a3-c7c5-4f9a-ac7d-5c69714424b8',

                                          "capsule_status" => 2,

                                          "is_private" => true,
                                          "opens_at" => 'Y-m-d H:i:s',
                                          "created_at" => 'Y-m-d H:i:s',

                                          "caption" => 'This is caption',
                                          "is_complete" => true,
                                          "is_blocked" => false,

                                          "is_my_capsule" => true,

                                          "liked_by_me" => true,
                                          "subscribed_by_me" => true,

                                          "is_tagged" => true,
                                          "is_removed" =>  true,

                                          "count_comment" => 20,
                                          "count_like" => 30,
                                          "count_subscribers" => 10,

                                          "owner" => [
                                              'id' => '3ff878a3-c7c5-4f9a-ac7d-5c69714424b2',
                                              'name' => 'Nickname',
                                              'image_url' => 'If set, avatar URL thumb'
                                          ],

                                          "preview" => [
                                              'width' => 300,
                                              'height' => 300,
                                              'url' => 'URL of capsule preview',
                                          ],

                                          "cropped" => [
                                              'width' => 300,
                                              'height' => 300,
                                              'url' => 'URL of capsule cropped preview if set',
                                          ],
                                      ]
                                  ],
                              ],
                        ]
                    ],
                ],

                [
                    'title' => 'Past timeline capsules (Only opened)',
                    'desc' => '',

                    'route' => route('feed.timeline-past'),
                    'method' => 'GET',
                    'headers' => self::middlewareHeaders(),

                    'parameters' => [
                        ['name' => 'from_date', 'desc' => '2017-11-05 12:47:08'],
                    ],

                    'response' => [
                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'totalCount' => 100,
                                'capsules' => [],
                            ],
                        ]
                    ],
                ],

                [
                    'title' => 'Future timeline capsules (Hatched and locked)',
                    'desc' => '',

                    'route' => route('feed.timeline-future'),
                    'method' => 'GET',
                    'headers' => self::middlewareHeaders(),

                    'parameters' => [
                        ['name' => 'from_date', 'desc' => '2017-11-05 12:47:08'],
                    ],

                    'response' => [
                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'totalCount' => 100,
                                'capsules' => [],
                            ],
                        ]
                    ],
                ],
            ]
        ];
    }

}
