<?php

namespace App\PackagesApi\Docs\v2;

class SettingsApiDoc extends AbstractV1Doc
{

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


                // Get settings
                [
                    'title' => 'Get settings',
                    'desc' => '',

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

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'settings' => [
                                    'phone_code' => '371',
                                    'phone_number' => '22332233',
                                    'phone_hash' => '91674332ff3a178a4f83e1d9c4d619c8',
                                    'nickname' => 'Nickname',
                                    'isAppNotificationsEnabled' => true,
                                    'isPushNotificationsEnabled' => true,
                                    'last_notification_seen' => '1552559817',
                                    'onboarding_done' => true,

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

                // Update settings
                [
                    'title' => 'Update settings',
                    'desc' => '',

                    'route' => route('settings.update'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'body' => [
                        'nickname' => "nickname",
                        'isAppNotificationsEnabled' => 1,
                        'isPushNotificationsEnabled' => 0
                    ],

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'settings' => [

                                ]
                            ],
                        ]
                    ],
                ],

                [
                    'title' => 'Onboarding Update settings',
                    'desc' => '',

                    'route' => route('settings.onboarding-update'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'body' => [
                        'onboarding_done' => true,
                    ],

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'settings' => [

                                ]
                            ],
                        ]
                    ],
                ],

                [
                    'title' => 'Delete user, valid endpoint',
                    'desc' => '',

                    'route' => route('settings.delete-user'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'body' => '',
                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'message' => 'Sucessfully delete'
                            ],
                        ]
                    ],
                ],

                // Upload avatar
                [
                    'title' => 'Upload avatar',
                    'desc' => '',

                    'route' => route('settings.upload-avatar'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'body' => [
                        'avatar' => "File",
                    ],

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'settings' => [

                                ]
                            ],
                        ]
                    ],
                ],

                // Upload avatar
                [
                    'title' => 'Remove avatar',
                    'desc' => '',

                    'route' => route('settings.remove-avatar'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),

                    'response' => [

                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'settings' => [

                                ]
                            ],
                        ]
                    ],
                ],
            ]
        ];
    }

}