<?php

namespace App\PackagesApi\Docs\v4;

class FollowerApiDoc extends AbstractV4Doc
{

    public static function endPoints()
    {
        return [
            'title' => 'Followers',
            'endpoints' => [

                [
                    'title' => 'Get confirmation count',
                    'desc' => '',

                    'route' => route('followers.wait-confirmation-count'),
                    'method' => 'GET',
                    'headers' => self::middlewareHeaders(),
                    'body' => '',

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'wait_confirmation_count' => 3
                            ],
                        ]
                    ],
                ],

                [
                    'title' => 'Get confirmation list',
                    'desc' => '',

                    'route' => route('followers.wait-confirmation-list'),
                    'method' => 'GET',
                    'headers' => self::middlewareHeaders(),
                    'body' => '',

                    'parameters' => [
                        [
                            'name' => 'page',
                            'desc' => 'page num for pagination'
                        ],
                        [
                            'name' => 'keyword',
                            'desc' => 'Filter list by nickname'
                        ]
                    ],

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'total_count' => 1,
                                'current_page' => 1,
                                'last_page' => 1,
                                'wait_confirmation' => [
                                    [
                                        'user_id' => "ac84fda7-f30d-4a9d-92cf-bc16c6a65d5e",
                                        'nickname' => "Janis berzins",
                                        'image_url' => "https://api.timehook.local/samples/avatar/9.png"
                                    ]
                                ]
                            ],
                        ]
                    ],
                ],

                [
                    'title' => 'Get Followers count',
                    'desc' => '',

                    'route' => route('followers.count'),
                    'method' => 'GET',
                    'headers' => self::middlewareHeaders(),
                    'body' => '',

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'followers_count' => 3
                            ],
                        ]
                    ],
                ],

                [
                    'title' => 'Get Followers list',
                    'desc' => '',

                    'route' => route('followers.list'),
                    'method' => 'GET',
                    'headers' => self::middlewareHeaders(),
                    'body' => '',

                    'parameters' => [
                        [
                            'name' => 'user_id',
                            'desc' => 'User ID'
                        ],
                        [
                            'name' => 'page',
                            'desc' => 'page num for pagination'
                        ],
                        [
                            'name' => 'keyword',
                            'desc' => 'Filter list by nickname'
                        ]
                    ],

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'total_count' => 1,
                                'current_page' => 1,
                                'last_page' => 1,
                                'followers' => [
                                    [
                                        'user_id' => "ac84fda7-f30d-4a9d-92cf-bc16c6a65d5e",
                                        'nickname' => "Janis berzins",
                                        'image_url' => "https://api.timehook.local/samples/avatar/9.png"
                                    ]
                                ]
                            ],
                        ]
                    ],
                ],


                /**
                 * Following
                 */

                [
                    'title' => 'Get Following count',
                    'desc' => '',

                    'route' => route('following.count'),
                    'method' => 'GET',
                    'headers' => self::middlewareHeaders(),
                    'body' => '',

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'following_count' => 3
                            ],
                        ]
                    ],
                ],

                [
                    'title' => 'Get Following list',
                    'desc' => '',

                    'route' => route('following.list'),
                    'method' => 'GET',
                    'headers' => self::middlewareHeaders(),
                    'body' => '',

                    'parameters' => [
                        [
                            'name' => 'user_id',
                            'desc' => 'User ID'
                        ],
                        [
                            'name' => 'page',
                            'desc' => 'page num for pagination'
                        ],
                        [
                            'name' => 'keyword',
                            'desc' => 'Filter list by nickname'
                        ]
                    ],

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'total_count' => 1,
                                'current_page' => 1,
                                'last_page' => 1,
                                'following' => [
                                    [
                                        'user_id' => "ac84fda7-f30d-4a9d-92cf-bc16c6a65d5e",
                                        'nickname' => "Janis berzins",
                                        'image_url' => "https://api.timehook.local/samples/avatar/9.png"
                                    ]
                                ]
                            ],
                        ]
                    ],
                ],

            ]
        ];
    }
}
