<?php

namespace App\PackagesApi\Docs\v4;

class CapsuleCreateApiDoc extends AbstractV4Doc
{

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

                // Start capsule creation
                [
                    'title' => 'Start capsule creation',
                    'desc' => '',

                    'route' => route('capsule.create.start'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'body' => '',

                    'response' => [
                        200 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => true,
                                'capsule' => [
                                    'capsule_id' => "ff5315ea-3e09-4f1f-a5a7-e04a34ed8ecd",
                                ]
                            ],
                        ]
                    ],
                ],

                // Upload capsule preview
                [
                    'title' => 'Upload capsule preview',
                    'desc' => '',

                    'route' => route('capsule.create.upload-preview'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'body' => [
                        'capsule_id' => "ff5315ea-3e09-4f1f-a5a7-e04a34ed8ecd",
                        'preview' => "File"
                    ],

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

                // Complete capsule creation
                [
                    'title' => 'Complete capsule creation',
                    'desc' => '',

                    'route' => route('capsule.create.complete'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),

                    'body' => [
                        'capsule_id' => "ff5315ea-3e09-4f1f-a5a7-e04a34ed8ecd",
                        'caption' => "dqdqwdwq",
                        'location_vicinity' => "vicinity of place",
                        'location_id' => "From location requests, places object - use place ID",
                        'is_private' => 1,
                        'opens_at' => "2019-10-16 09:43:44",
                        'tagged_users' => [
                            "e15a197b-60d9-4c82-a29d-36dbeb425447",
                            "fd2fb73e-8c16-4190-9caf-ff76a9232d62"
                        ],
                        'video_name' => 'some video name (changed from file_name)',
                        'teaser_name' => 'some teaser name (new)'
                    ],

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

                // Cancel capsule upload
                [
                    'title' => 'Cancel capsule upload',
                    'desc' => '',

                    'route' => route('capsule.create.cancel'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'body' => [
                        'capsule_id' => "ff5315ea-3e09-4f1f-a5a7-e04a34ed8ecd"
                    ],

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

            ],

        ];

    }

}
