<?php

namespace App\PackagesApi\Docs\v4;

class UserApiDoc extends AbstractV4Doc
{
	/**
	 * @return array
	 */
    public static function endPoints()
    {
        return [
            'title' => 'User',
            'endpoints' => [

                // Logged in user info
                [
                    'title' => 'Get information about udpates - new capsule, notifications, invites',
                    'desc' => '',

                    'route' => route('user.updates'),
                    'method' => 'GET',
                    'headers' => self::middlewareHeaders(),
                    'body' => '',

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'updates' => [
                                    'has_new_notifications' => 2,
                                    'has_new_followers' => 1,
                                    'has_new_accept_followers' => 0,
                                ],
                            ],
                        ]
                    ],
                ],

                // Logged in user info
                [
                    'title' => 'User profile info',
                    'desc' => '',

                    'route' => route('user.profile'),
                    'method' => 'GET',
                    'headers' => self::middlewareHeaders(),
                    'body' => '',

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'user' => [
                                    "user_id" => 'f5d84507-0426-4e74-a6b1-78dd0fb00e43',
                                    "nickname" => 'Nickname',

                                    "count_capsules" => '10',
                                    "count_followers" => 30,
                                    "count_following" => 2,

                                    "phone_hash" => '91674332ff3a178a4f83e1d9c4d619c8',
                                    "phone_code" => '371',
                                    "phone_number" => '22334422',
                                    "is_private" => false,

                                    'is_follower' => true,
                                    'is_following' => false,

                                    'image_url' => 'Avatar URL thumb, if set',
                                    'original_image_url' => 'Avatar URL original, if set',
                                ]
                            ],
                        ]
                    ],
                ],

                // Chosen user info
                [
                    'title' => 'Chosen user info',
                    'desc' => '',

                    'route' => route('user.info', ['user_id' => 'f5d84507-0426-4e74-a6b1-78dd0fb00e43']),
                    'method' => ['GET', 'POST'],
                    'headers' => self::middlewareHeaders(),
                    'body' => '',
                    'parameters' => [
                        ['name' => 'is_searched', 'desc' => 'Provide this parameter if called from search results. Set TRUE']
                    ],

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'user' => [
                                    "user_id" => 'f5d84507-0426-4e74-a6b1-78dd0fb00e43',
                                    "nickname" => 'Nickname',

                                    "count_capsules" => '10',
                                    "count_friends" => '20',

                                    "phone_hash" => '91674332ff3a178a4f83e1d9c4d619c8',
                                    "phone_code" => '371',
                                    "phone_number" => '22334422',
                                    "is_private" => false,

                                    'is_follower' => true,
                                    'is_following' => false,

                                    'image_url' => 'Avatar URL thumb, if set',
                                    'original_image_url' => 'Avatar URL original, if set',
                                ]
                            ],
                        ]
                    ],
                ],

                [
                    'title' => 'Chosen user info by nickname',
                    'desc' => '',

                    'route' => route('user.info-nickname', ['nickname' => 'Harvey86']),
                    'method' => ['GET'],
                    'headers' => self::middlewareHeaders(),
                    'body' => '',

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'user' => [
                                    "user_id" => "1b96b48e-8658-44c1-9256-b78c2a6f27ae",
                                    "nickname" => "Harvey86",
                                    "count_capsules" => 0,
                                    "count_followers" => 0,
                                    "count_following" => 0,
                                    "phone_hash" => "",
                                    "phone_code" => "TC",
                                    "phone_number" => "473.513.2687",
                                    "is_private" => false,
                                    "is_follower" => false,
                                    "is_following" => false
                                ]
                            ],
                        ]
                    ],
                ],
            ]
        ];
    }

}
