<?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 = [],
    ) {
    }
}
