<?php

namespace App\PackagesApi\Docs\v3;

class NotificationApiDoc extends AbstractV3Doc
{
	/**
	 * @return array
	 */
    public static function endPoints()
    {
        return [
            'title' => 'Notifications',
            'endpoints' => [

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

                    'route' => route('notification.list'),
                    'method' => 'GET',
                    'parameters' => [
                        [
                            'name' => 'last_seen',
                            'desc' => 'Pass last ID (notification list goes in DESC)'
                        ]
                    ],
                    'headers' => self::middlewareHeaders(),
                    'body' => '',

                    'response' => [
                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'total_count' => 5,
                                'notifications' => [
                                    [
                                        'id' => 321,
                                        'user' => [],
                                        'type' => 'type',
                                        'created_at' => '2018-11-05 09:18:37',
                                        'created_at_micro' => '1541409518',
                                        'capsule' => [],
                                        'comment' => [],
                                    ]
                                ]
                            ],
                        ]
                    ],
                ],

                [
                    'title' => 'Register user push token',
                    'desc' => 'User push token',

                    'route' => route('notification.register-token'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'body' => [
                        'token' => "ChIJJZjua0zF7kYRt8DpCYnYycU",
                    ],

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

                [
                    'title' => 'Un register user push token',
                    'desc' => 'Removeuser push token',

                    'route' => route('notification.un-register-token'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'body' => [
                    ],

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

                [
                    'title' => 'Set Notification seen',
                    'desc' => 'For in App notifications, update notification is_seen to true',

                    'route' => route('notification.is-seen'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'body' => [
                        'notification_id' => '123'
                    ],

                    'response' => [
                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                            ],
                        ]
                    ],
                ],
            ]
        ];
    }

}
