vendor/api-platform/core/src/Metadata/Post.php line 17

  1. <?php
  2. /*
  3.  * This file is part of the API Platform project.
  4.  *
  5.  * (c) Kévin Dunglas <dunglas@gmail.com>
  6.  *
  7.  * For the full copyright and license information, please view the LICENSE
  8.  * file that was distributed with this source code.
  9.  */
  10. declare(strict_types=1);
  11. namespace ApiPlatform\Metadata;
  12. use ApiPlatform\OpenApi\Attributes\Webhook;
  13. use ApiPlatform\OpenApi\Model\Operation as OpenApiOperation;
  14. use ApiPlatform\State\OptionsInterface;
  15. #[\Attribute(\Attribute::TARGET_CLASS | \Attribute::IS_REPEATABLE)]
  16. final class Post extends HttpOperation
  17. {
  18.     public function __construct(
  19.         ?string $uriTemplate = null,
  20.         ?array $types = null,
  21.         $formats = null,
  22.         $inputFormats = null,
  23.         $outputFormats = null,
  24.         $uriVariables = null,
  25.         ?string $routePrefix = null,
  26.         ?string $routeName = null,
  27.         ?array $defaults = null,
  28.         ?array $requirements = null,
  29.         ?array $options = null,
  30.         ?bool $stateless = null,
  31.         ?string $sunset = null,
  32.         ?string $acceptPatch = null,
  33.         $status = null,
  34.         ?string $host = null,
  35.         ?array $schemes = null,
  36.         ?string $condition = null,
  37.         ?string $controller = null,
  38.         ?array $headers = null,
  39.         ?array $cacheHeaders = null,
  40.         ?array $paginationViaCursor = null,
  41.         ?array $hydraContext = null,
  42.         ?array $openapiContext = null,
  43.         bool|OpenApiOperation|Webhook|null $openapi = null,
  44.         ?array $exceptionToStatus = null,
  45.         ?bool $queryParameterValidationEnabled = null,
  46.         ?array $links = null,
  47.         ?array $errors = null,
  48.         ?string $shortName = null,
  49.         ?string $class = null,
  50.         ?bool $paginationEnabled = null,
  51.         ?string $paginationType = null,
  52.         ?int $paginationItemsPerPage = null,
  53.         ?int $paginationMaximumItemsPerPage = null,
  54.         ?bool $paginationPartial = null,
  55.         ?bool $paginationClientEnabled = null,
  56.         ?bool $paginationClientItemsPerPage = null,
  57.         ?bool $paginationClientPartial = null,
  58.         ?bool $paginationFetchJoinCollection = null,
  59.         ?bool $paginationUseOutputWalkers = null,
  60.         ?array $order = null,
  61.         ?string $description = null,
  62.         ?array $normalizationContext = null,
  63.         ?array $denormalizationContext = null,
  64.         ?bool $collectDenormalizationErrors = null,
  65.         string|\Stringable|null $security = null,
  66.         ?string $securityMessage = null,
  67.         string|\Stringable|null $securityPostDenormalize = null,
  68.         ?string $securityPostDenormalizeMessage = null,
  69.         string|\Stringable|null $securityPostValidation = null,
  70.         ?string $securityPostValidationMessage = null,
  71.         ?string $deprecationReason = null,
  72.         ?array $filters = null,
  73.         ?array $validationContext = null,
  74.         $input = null,
  75.         $output = null,
  76.         $mercure = null,
  77.         $messenger = null,
  78.         ?bool $elasticsearch = null,
  79.         ?int $urlGenerationStrategy = null,
  80.         ?bool $read = null,
  81.         ?bool $deserialize = null,
  82.         ?bool $validate = null,
  83.         ?bool $write = null,
  84.         ?bool $serialize = null,
  85.         ?bool $fetchPartial = null,
  86.         ?bool $forceEager = null,
  87.         ?int $priority = null,
  88.         ?string $name = null,
  89.         $provider = null,
  90.         $processor = null,
  91.         ?OptionsInterface $stateOptions = null,
  92.         array|Parameters|null $parameters = null,
  93.         array $extraProperties = [],
  94.         private ?string $itemUriTemplate = null,
  95.     ) {
  96.         parent::__construct(
  97.             method: 'POST',
  98.             uriTemplate: $uriTemplate,
  99.             types: $types,
  100.             formats: $formats,
  101.             inputFormats: $inputFormats,
  102.             outputFormats: $outputFormats,
  103.             uriVariables: $uriVariables,
  104.             routePrefix: $routePrefix,
  105.             routeName: $routeName,
  106.             defaults: $defaults,
  107.             requirements: $requirements,
  108.             options: $options,
  109.             stateless: $stateless,
  110.             sunset: $sunset,
  111.             acceptPatch: $acceptPatch,
  112.             status: $status,
  113.             host: $host,
  114.             schemes: $schemes,
  115.             condition: $condition,
  116.             controller: $controller,
  117.             headers: $headers,
  118.             cacheHeaders: $cacheHeaders,
  119.             paginationViaCursor: $paginationViaCursor,
  120.             hydraContext: $hydraContext,
  121.             openapiContext: $openapiContext,
  122.             openapi: $openapi,
  123.             exceptionToStatus: $exceptionToStatus,
  124.             queryParameterValidationEnabled: $queryParameterValidationEnabled,
  125.             links: $links,
  126.             errors: $errors,
  127.             shortName: $shortName,
  128.             class: $class,
  129.             paginationEnabled: $paginationEnabled,
  130.             paginationType: $paginationType,
  131.             paginationItemsPerPage: $paginationItemsPerPage,
  132.             paginationMaximumItemsPerPage: $paginationMaximumItemsPerPage,
  133.             paginationPartial: $paginationPartial,
  134.             paginationClientEnabled: $paginationClientEnabled,
  135.             paginationClientItemsPerPage: $paginationClientItemsPerPage,
  136.             paginationClientPartial: $paginationClientPartial,
  137.             paginationFetchJoinCollection: $paginationFetchJoinCollection,
  138.             paginationUseOutputWalkers: $paginationUseOutputWalkers,
  139.             order: $order,
  140.             description: $description,
  141.             normalizationContext: $normalizationContext,
  142.             denormalizationContext: $denormalizationContext,
  143.             collectDenormalizationErrors: $collectDenormalizationErrors,
  144.             security: $security,
  145.             securityMessage: $securityMessage,
  146.             securityPostDenormalize: $securityPostDenormalize,
  147.             securityPostDenormalizeMessage: $securityPostDenormalizeMessage,
  148.             securityPostValidation: $securityPostValidation,
  149.             securityPostValidationMessage: $securityPostValidationMessage,
  150.             deprecationReason: $deprecationReason,
  151.             filters: $filters,
  152.             validationContext: $validationContext,
  153.             input: $input,
  154.             output: $output,
  155.             mercure: $mercure,
  156.             messenger: $messenger,
  157.             elasticsearch: $elasticsearch,
  158.             urlGenerationStrategy: $urlGenerationStrategy,
  159.             read: $read,
  160.             deserialize: $deserialize,
  161.             validate: $validate,
  162.             write: $write,
  163.             serialize: $serialize,
  164.             fetchPartial: $fetchPartial,
  165.             forceEager: $forceEager,
  166.             priority: $priority,
  167.             name: $name,
  168.             provider: $provider,
  169.             processor: $processor,
  170.             stateOptions: $stateOptions,
  171.             parameters: $parameters,
  172.             extraProperties: $extraProperties
  173.         );
  174.     }
  175.     public function getItemUriTemplate(): ?string
  176.     {
  177.         return $this->itemUriTemplate;
  178.     }
  179.     public function withItemUriTemplate(string $itemUriTemplate): self
  180.     {
  181.         $self = clone $this;
  182.         $self->itemUriTemplate = $itemUriTemplate;
  183.         return $self;
  184.     }
  185. }