lasthourcloud/app/Http/Controllers/Api/OpenApi.php

52 lines
1.7 KiB
PHP
Raw Normal View History

2024-07-05 14:08:01 +00:00
<?php
namespace App\Http\Controllers\Api;
use OpenApi\Attributes as OA;
#[OA\Info(title: 'Coolify', version: '0.1')]
2024-07-06 12:34:15 +00:00
#[OA\Server(url: 'https://app.coolify.io/api/v1')]
#[OA\SecurityScheme(
type: 'http',
scheme: 'bearer',
securityScheme: 'bearerAuth',
description: 'Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token.')]
#[OA\Components(
responses: [
new OA\Response(
2024-07-09 08:45:10 +00:00
response: 400,
description: 'Invalid token.',
2024-07-06 12:34:15 +00:00
content: new OA\JsonContent(
type: 'object',
properties: [
2024-07-09 08:45:10 +00:00
new OA\Property(property: 'message', type: 'string', example: 'Invalid token.'),
2024-07-06 12:34:15 +00:00
]
)),
new OA\Response(
2024-07-09 08:45:10 +00:00
response: 401,
description: 'Unauthenticated.',
2024-07-06 12:34:15 +00:00
content: new OA\JsonContent(
type: 'object',
properties: [
2024-07-09 08:45:10 +00:00
new OA\Property(property: 'message', type: 'string', example: 'Unauthenticated.'),
2024-07-06 12:34:15 +00:00
]
)),
new OA\Response(
response: 404,
description: 'Resource not found.',
content: new OA\JsonContent(
type: 'object',
properties: [
2024-07-09 08:45:10 +00:00
new OA\Property(property: 'message', type: 'string', example: 'Resource not found.'),
2024-07-06 12:34:15 +00:00
]
)),
],
)]
2024-07-05 14:08:01 +00:00
class OpenApi
{
// This class is used to generate OpenAPI documentation
// for the Coolify API. It is not a controller and does
// not contain any routes. It is used to define the
// OpenAPI metadata and security scheme for the API.
}