<?php

namespace App\PackagesApi\Docs\v4;

class FeedApiDoc extends AbstractV4Doc
{
	/**
	 * @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,
                                        "share_link" => 'http://public.timecaps.com/capsule/38217e37-dcc1-49a8-9c62-2bb3907e3905',

                                        "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" => [
                                            'user_id' => '3ff878a3-c7c5-4f9a-ac7d-5c69714424b2',
                                            'nickname' => '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' => 'Timeline unlocked capsules (Only opened)',
                    'desc' => '',

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

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

                    'response' => [
                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'total' => '100 (Total capsules in DB)',
                                'count' => '10 (Now returned)',
                                'total_count' => '90 (Left in DB)',
                                'capsules' => [],
                            ],
                        ]
                    ],
                ],

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

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

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

                    'response' => [
                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'total' => '100 (Total capsules in DB)',
                                'count' => '10 (Now returned)',
                                'total_count' => '90 (Left in DB)',
                                'capsules' => [],
                            ],
                        ]
                    ],
                ],
            ]
        ];
    }

}
