vendor/api-platform/core/src/Metadata/GraphQl/Query.php line 19

  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\GraphQl;
  12. use ApiPlatform\State\OptionsInterface;
  13. #[\Attribute(\Attribute::TARGET_CLASS | \Attribute::IS_REPEATABLE)]
  14. class Query extends Operation
  15. {
  16.     public function __construct(
  17.         ?string $resolver = null,
  18.         ?array $args = null,
  19.         ?array $links = null,
  20.         ?string $shortName = null,
  21.         ?string $class = null,
  22.         ?bool $paginationEnabled = null,
  23.         ?string $paginationType = null,
  24.         ?int $paginationItemsPerPage = null,
  25.         ?int $paginationMaximumItemsPerPage = null,
  26.         ?bool $paginationPartial = null,
  27.         ?bool $paginationClientEnabled = null,
  28.         ?bool $paginationClientItemsPerPage = null,
  29.         ?bool $paginationClientPartial = null,
  30.         ?bool $paginationFetchJoinCollection = null,
  31.         ?bool $paginationUseOutputWalkers = null,
  32.         ?array $order = null,
  33.         ?string $description = null,
  34.         ?array $normalizationContext = null,
  35.         ?array $denormalizationContext = null,
  36.         ?bool $collectDenormalizationErrors = null,
  37.         ?string $security = null,
  38.         ?string $securityMessage = null,
  39.         ?string $securityPostDenormalize = null,
  40.         ?string $securityPostDenormalizeMessage = null,
  41.         ?string $securityPostValidation = null,
  42.         ?string $securityPostValidationMessage = null,
  43.         ?string $deprecationReason = null,
  44.         ?array $filters = null,
  45.         ?array $validationContext = null,
  46.         $input = null,
  47.         $output = null,
  48.         $mercure = null,
  49.         $messenger = null,
  50.         ?bool $elasticsearch = null,
  51.         ?int $urlGenerationStrategy = null,
  52.         ?bool $read = null,
  53.         ?bool $deserialize = null,
  54.         ?bool $validate = null,
  55.         ?bool $write = null,
  56.         ?bool $serialize = null,
  57.         ?bool $fetchPartial = null,
  58.         ?bool $forceEager = null,
  59.         ?int $priority = null,
  60.         ?string $name = null,
  61.         $provider = null,
  62.         $processor = null,
  63.         ?OptionsInterface $stateOptions = null,
  64.         array $extraProperties = [],
  65.         protected ?bool $nested = null,
  66.     ) {
  67.         parent::__construct(
  68.             resolver: $resolver,
  69.             args: $args,
  70.             links: $links,
  71.             shortName: $shortName,
  72.             class: $class,
  73.             paginationEnabled: $paginationEnabled,
  74.             paginationType: $paginationType,
  75.             paginationItemsPerPage: $paginationItemsPerPage,
  76.             paginationMaximumItemsPerPage: $paginationMaximumItemsPerPage,
  77.             paginationPartial: $paginationPartial,
  78.             paginationClientEnabled: $paginationClientEnabled,
  79.             paginationClientItemsPerPage: $paginationClientItemsPerPage,
  80.             paginationClientPartial: $paginationClientPartial,
  81.             paginationFetchJoinCollection: $paginationFetchJoinCollection,
  82.             paginationUseOutputWalkers: $paginationUseOutputWalkers,
  83.             order: $order,
  84.             description: $description,
  85.             normalizationContext: $normalizationContext,
  86.             denormalizationContext: $denormalizationContext,
  87.             collectDenormalizationErrors: $collectDenormalizationErrors,
  88.             security: $security,
  89.             securityMessage: $securityMessage,
  90.             securityPostDenormalize: $securityPostDenormalize,
  91.             securityPostDenormalizeMessage: $securityPostDenormalizeMessage,
  92.             securityPostValidation: $securityPostValidation,
  93.             securityPostValidationMessage: $securityPostValidationMessage,
  94.             deprecationReason: $deprecationReason,
  95.             filters: $filters,
  96.             validationContext: $validationContext,
  97.             input: $input,
  98.             output: $output,
  99.             mercure: $mercure,
  100.             messenger: $messenger,
  101.             elasticsearch: $elasticsearch,
  102.             urlGenerationStrategy: $urlGenerationStrategy,
  103.             read: $read,
  104.             deserialize: $deserialize,
  105.             validate: $validate,
  106.             write: $write,
  107.             serialize: $serialize,
  108.             fetchPartial: $fetchPartial,
  109.             forceEager: $forceEager,
  110.             priority: $priority,
  111.             name: $name ?: 'item_query',
  112.             provider: $provider,
  113.             processor: $processor,
  114.             stateOptions: $stateOptions,
  115.             extraProperties: $extraProperties
  116.         );
  117.     }
  118.     public function getNested(): ?bool
  119.     {
  120.         return $this->nested;
  121.     }
  122.     public function withNested(?bool $nested = null): self
  123.     {
  124.         $self = clone $this;
  125.         $self->nested = $nested;
  126.         return $self;
  127.     }
  128. }