<?php

namespace App\PackagesApi\Docs\v3;

class CapsuleActionApiDoc extends AbstractV3Doc
{

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

                [
                    'title' => 'Open capsule',
                    'desc' => 'From hatched to open',

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

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

                // Like capsule
                [
                    'title' => 'Like capsule',
                    'desc' => 'Works as toggle, like/unlike',

                    'route' => route('capsule.add-like'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'body' => [
                        'capsule_id' => 'f5d84507-0426-4e74-a6b1-78dd0fb00e43'
                    ],

                    'response' => [

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

                // Subscribe to capsule
                [
                    'title' => 'Subscribe to capsule',
                    'desc' => 'Works as toggle, subscribe/unsubscribe',

                    'route' => route('capsule.add-subscriber'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'body' => [
                        'capsule_id' => 'f5d84507-0426-4e74-a6b1-78dd0fb00e43'
                    ],

                    'response' => [

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

                [
                    'title' => 'Add comment to capsule',
                    'desc' => 'Comment capsule',

                    'route' => route('capsule.add-comment'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'body' => [
                        'capsule_id' => "f5d84507-0426-4e74-a6b1-78dd0fb00e43",
                        'content' => 'Comment content'
                    ],

                    'response' => [

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

                [
                    'title' => 'Edit comment',
                    'desc' => 'Edit capsule comment',

                    'route' => route('capsule.edit-comment'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'body' => [
                        'capsule_id' => "f5d84507-0426-4e74-a6b1-78dd0fb00e43",
                        'comment_id' => "34edb083-f57c-42bc-b23d-89a7cdfe649e",
                        'content' => 'Comment content'
                    ],

                    'response' => [

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

                        405 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => false,
                                'message' => 'User cannot edit comment'
                            ]
                        ],

                        500 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => false,
                                'message' => 'Comment not found'
                            ]
                        ],
                    ],
                ],

                [
                    'title' => 'Delete comment',
                    'desc' => 'Delete capsule comment',

                    'route' => route('capsule.delete-comment'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),
                    'body' => [
                        'capsule_id' => "f5d84507-0426-4e74-a6b1-78dd0fb00e43",
                        'comment_id' => "34edb083-f57c-42bc-b23d-89a7cdfe649e"
                    ],

                    'response' => [

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

                        405 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => false,
                                'message' => 'User cannot delete comment'
                            ]
                        ],

                        500 => [
                            'headers' => self::responseHeaders(),
                            'body' => [
                                'success' => false,
                                'message' => 'Comment not found'
                            ]
                        ]
                    ],
                ],

                [
                    'title' => 'Edit tagged capsule users',
                    'desc' => '',

                    'route' => route('capsule.edit.tagged-friends'),
                    'method' => 'POST',
                    'headers' => self::middlewareHeaders(),

                    'body' => [
                        'capsule_id' => "ff5315ea-3e09-4f1f-a5a7-e04a34ed8ecd",
                        'tagged_users' => [
                            "e15a197b-60d9-4c82-a29d-36dbeb425447",
                            "fd2fb73e-8c16-4190-9caf-ff76a9232d62"
                        ]
                    ],

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

                [
                    'title' => 'Remove capsule from timeline',
                    'desc' => '',

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

                    'body' => [
                        'capsule_id' => 'ff5315ea-3e09-4f1f-a5a7-e04a34ed8ecd',
                    ],

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

                [
                    'title' => 'Remove user tag from capsule',
                    'desc' => '',

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

                    'body' => [
                        'capsule_id' => 'ff5315ea-3e09-4f1f-a5a7-e04a34ed8ecd',
                    ],

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

                [
                    'title' => 'Destroy capsule',
                    'desc' => '',

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

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

            ],

        ];

    }

}
