<?php

namespace App\PackagesApi\Docs\v4;

class SearchApiDoc extends AbstractV4Doc
{
    /**
     * @return array
     */
    public static function endPoints()
    {
        return [
            'title' => 'Search',
            'endpoints' => [
                [
                    'title' => 'Search by users (empty keyword)',
                    'desc' => 'Search only users. If Keyword not provided return suggestion & recent',

                    'route' => route('search.only-users'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'parameters' => [
                        ['name' => 'keyword', 'desc' => 'if not provided, return suggested list'],
                        ['name' => 'limit', 'desc' => 'By default = 10 | !!Not less than 7!!'],
                        ['name' => 'offset', 'desc' => 'Take next suggested from offset']
                    ],

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'recent' => [
                                    [
                                        "user_id" => "58b0d699-86bd-4ad4-8584-f75dea8b8ecf",
                                        "nickname" => "Preston84",
                                        "is_follower" => true,
                                        "image_url" => "some link",
                                    ],
                                    [
                                        "user_id" => "97a9ae3c-e7f7-4ffb-b4d4-dbd62cfb76f6",
                                        "nickname" => "Cora41",
                                        "is_follower" => true,
                                        "image_url" => "some link",
                                    ]
                                ],
                                'suggested' => [
                                    [
                                        "user_id" => "58b0d699-86bd-4ad4-8584-f75dea8b8ecf",
                                        "nickname" => "Preston84",
                                        "is_follower" => true,
                                        "image_url" => "some link",
                                    ],
                                    [
                                        "user_id" => "97a9ae3c-e7f7-4ffb-b4d4-dbd62cfb76f6",
                                        "nickname" => "Cora41",
                                        "is_follower" => true,
                                        "image_url" => "some link",
                                    ],
                                    [
                                        "user_id" => "71c07118-9633-45f4-9a95-c5ce80dbf8c8",
                                        "nickname" => "Jaquan56",
                                        "is_follower" => true,
                                        "image_url" => "some link",
                                    ]
                                ],
                                'has_more' => true
                            ],
                        ]
                    ],
                ],
                [
                    'title' => 'Search by users (have keyword)',
                    'desc' => 'Search only users. After call User->Chosen user info (with parameter is_searched = TRUE)',

                    'route' => route('search.only-users'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'parameters' => [
                        ['name' => 'keyword', 'desc' => 'if not provided, return suggested list'],
                        ['name' => 'limit', 'desc' => 'Default 10'],
                        ['name' => 'offset', 'desc' => 'Take next founded from offset']
                    ],

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'count' => 10,
                                'users' => [
                                    [
                                        "user_id" => "58b0d699-86bd-4ad4-8584-f75dea8b8ecf",
                                        "nickname" => "Preston84",
                                        "is_follower" => true,
                                        "image_url" => "some link",
                                    ],
                                    [
                                        "user_id" => "97a9ae3c-e7f7-4ffb-b4d4-dbd62cfb76f6",
                                        "nickname" => "Cora41",
                                        "is_follower" => true,
                                        "image_url" => "some link",
                                    ],
                                    [
                                        "user_id" => "71c07118-9633-45f4-9a95-c5ce80dbf8c8",
                                        "nickname" => "Jaquan56",
                                        "is_follower" => true,
                                        "image_url" => "some link",
                                    ]
                                ],
                                'has_more' => true
                            ],
                        ]
                    ],
                ],

                [
                    'title' => 'Search by capsules',
                    'desc' => 'Search only capsules (Not yet completed)',

                    'route' => route('search.only-capsules'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'parameters' => [
                        ['name' => 'keyword', 'desc' => 'if not provided, return suggested list'],
                        ['name' => 'limit', 'desc' => 'By default = 10 | !!Not less than 7!!'],
                        ['name' => 'offset', 'desc' => 'Take next suggested from offset']
                    ],

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'recent' => [],
                                'suggested' => [
                                    [
                                        "id" => "f77ddf7b-7b1a-41c9-ae4f-6314cbec5c61",
                                        "capsule_status" => 2,
                                        "opens_at" => "2018-10-16 09:43:44",
                                        "opened_at" => null,
                                        "created_at" => "2019-10-29 08:58:33",
                                        "caption" => "dqdqwdwq222",
                                        "owner" => [
                                            "user_id" => '58b0d699-86bd-4ad4-8584-f75dea8b8ecf',
                                            "nickname" => 'Big boss'
                                        ]
                                    ],
                                    [
                                        "id" => "38217e37-dcc1-49a8-9c62-2bb3907e3905",
                                        "capsule_status" => 2,
                                        "opens_at" => "2018-10-16 09:43:44",
                                        "opened_at" => null,
                                        "created_at" => "2019-10-29 08:58:33",
                                        "caption" => "dqdqwdwq111",
                                        "owner" => [
                                            "user_id" => '71c07118-9633-45f4-9a95-c5ce80dbf8c8',
                                            "nickname" => 'Runner',
                                            "image_url" => 'avatar url',
                                        ],
                                        "teaser_url" => "https://d120rvlvkzdyyx.cloudfront.net/teaser_video"
                                    ]
                                ],
                                'has_more' => true
                            ],
                        ]

                    ]

                ],

                [
                    'title' => 'Search all (capsules, users)',
                    'desc' => 'Search in capsules and users (Not yet completed)',

                    'route' => route('search.search-all'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'parameters' => [
                        ['name' => 'keyword', 'desc' => 'if not provided, return suggested list'],
                        ['name' => 'limit', 'desc' => 'By default = 10'],
                        ['name' => 'offset', 'desc' => 'Take next founded from offset']
                    ],

                    'response' => [
                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'users_count' => 10,
                                'result_count' => 10,
                                'users' => [
                                    [
                                        "user_id" => "58b0d699-86bd-4ad4-8584-f75dea8b8ecf",
                                        "nickname" => "Preston84",
                                        "is_follower" => true,
                                        "image_url" => "some link",
                                    ],
                                    [
                                        "user_id" => "97a9ae3c-e7f7-4ffb-b4d4-dbd62cfb76f6",
                                        "nickname" => "Cora41",
                                        "is_follower" => true,
                                        "image_url" => "some link",
                                    ],
                                    [
                                        "user_id" => "71c07118-9633-45f4-9a95-c5ce80dbf8c8",
                                        "nickname" => "Jaquan56",
                                        "is_follower" => true,
                                        "image_url" => "some link",
                                    ]
                                ]
                            ],
                        ]
                    ]
                ]
            ]
        ];
    }

}
