Enable Discovery debug logging for production troubleshooting
- Add DISCOVERY_LOG_LEVEL=debug - Add DISCOVERY_SHOW_PROGRESS=true - Temporary changes for debugging InitializerProcessor fixes on production
This commit is contained in:
23
src/Framework/OpenApi/Attributes/ApiEndpoint.php
Normal file
23
src/Framework/OpenApi/Attributes/ApiEndpoint.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Framework\OpenApi\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
/**
|
||||
* Marks a controller method as an API endpoint for OpenAPI documentation
|
||||
*/
|
||||
#[Attribute(Attribute::TARGET_METHOD)]
|
||||
final readonly class ApiEndpoint
|
||||
{
|
||||
public function __construct(
|
||||
public string $summary,
|
||||
public string $description = '',
|
||||
public array $tags = [],
|
||||
public bool $deprecated = false,
|
||||
public ?string $operationId = null,
|
||||
) {
|
||||
}
|
||||
}
|
||||
26
src/Framework/OpenApi/Attributes/ApiParameter.php
Normal file
26
src/Framework/OpenApi/Attributes/ApiParameter.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Framework\OpenApi\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
/**
|
||||
* Describes a parameter for an API endpoint
|
||||
*/
|
||||
#[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)]
|
||||
final readonly class ApiParameter
|
||||
{
|
||||
public function __construct(
|
||||
public string $name,
|
||||
public string $in = 'query', // query, path, header, cookie
|
||||
public string $description = '',
|
||||
public bool $required = false,
|
||||
public string $type = 'string',
|
||||
public ?string $format = null,
|
||||
public mixed $example = null,
|
||||
public array $enum = [],
|
||||
) {
|
||||
}
|
||||
}
|
||||
23
src/Framework/OpenApi/Attributes/ApiRequestBody.php
Normal file
23
src/Framework/OpenApi/Attributes/ApiRequestBody.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Framework\OpenApi\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
/**
|
||||
* Describes the request body for an API endpoint
|
||||
*/
|
||||
#[Attribute(Attribute::TARGET_METHOD)]
|
||||
final readonly class ApiRequestBody
|
||||
{
|
||||
public function __construct(
|
||||
public string $description,
|
||||
public bool $required = true,
|
||||
public string $contentType = 'application/json',
|
||||
public ?string $schemaRef = null,
|
||||
public ?array $example = null,
|
||||
) {
|
||||
}
|
||||
}
|
||||
24
src/Framework/OpenApi/Attributes/ApiResponse.php
Normal file
24
src/Framework/OpenApi/Attributes/ApiResponse.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Framework\OpenApi\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
/**
|
||||
* Describes a response for an API endpoint
|
||||
*/
|
||||
#[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)]
|
||||
final readonly class ApiResponse
|
||||
{
|
||||
public function __construct(
|
||||
public int $statusCode,
|
||||
public string $description,
|
||||
public ?string $contentType = 'application/json',
|
||||
public ?string $schemaRef = null,
|
||||
public ?array $example = null,
|
||||
public array $headers = [],
|
||||
) {
|
||||
}
|
||||
}
|
||||
20
src/Framework/OpenApi/Attributes/ApiSecurity.php
Normal file
20
src/Framework/OpenApi/Attributes/ApiSecurity.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Framework\OpenApi\Attributes;
|
||||
|
||||
use Attribute;
|
||||
|
||||
/**
|
||||
* Describes security requirements for an API endpoint
|
||||
*/
|
||||
#[Attribute(Attribute::TARGET_METHOD | Attribute::TARGET_CLASS | Attribute::IS_REPEATABLE)]
|
||||
final readonly class ApiSecurity
|
||||
{
|
||||
public function __construct(
|
||||
public string $scheme,
|
||||
public array $scopes = [],
|
||||
) {
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user