Skip to content

Commit

Permalink
todo: rebase More tests + review
Browse files Browse the repository at this point in the history
  • Loading branch information
soyuka committed May 12, 2021
1 parent ad921f9 commit f878cb3
Show file tree
Hide file tree
Showing 8 changed files with 390 additions and 117 deletions.
4 changes: 2 additions & 2 deletions docs/adr/0002-resource-definition.md
Expand Up @@ -35,8 +35,8 @@ class Users

#[Resource("/companies/{companyId}/users/{id}", normalization_context=["groups"= [....]]), operations={}]
#[Resource(normalization_context=["groups"= [....]], operations=[
#[Get],
#[Post],
new Get(),
new Post(),
])]
class User
{
Expand Down
110 changes: 55 additions & 55 deletions src/Core/Metadata/Operation.php
Expand Up @@ -18,58 +18,58 @@ class Operation
use AttributeTrait;

/**
* @param string $method
* @param array $defaults
* @param array $requirements
* @param array $options
* @param string $host
* @param array $schemes
* @param string $condition
* @param string $controller
* @param string $uriTemplate
* @param string $description
* @param array $types
* @param string $shortName
* @param array $cacheHeaders https://api-platform.com/docs/core/performance/#setting-custom-http-cache-headers
* @param array $denormalizationContext https://api-platform.com/docs/core/serialization/#using-serialization-groups
* @param string $deprecationReason https://api-platform.com/docs/core/deprecations/#deprecating-resource-classes-operations-and-properties
* @param bool $elasticsearch https://api-platform.com/docs/core/elasticsearch/
* @param bool $fetchPartial https://api-platform.com/docs/core/performance/#fetch-partial
* @param bool $forceEager https://api-platform.com/docs/core/performance/#force-eager
* @param array $formats https://api-platform.com/docs/core/content-negotiation/#configuring-formats-for-a-specific-resource-or-operation
* @param array $inputFormats https://api-platform.com/docs/core/content-negotiation/#configuring-formats-for-a-specific-resource-or-operation
* @param array $outputFormats https://api-platform.com/docs/core/content-negotiation/#configuring-formats-for-a-specific-resource-or-operation
* @param string[] $filters https://api-platform.com/docs/core/filters/#doctrine-orm-and-mongodb-odm-filters
* @param string[] $hydraContext https://api-platform.com/docs/core/extending-jsonld-context/#hydra
* @param mixed $input https://api-platform.com/docs/core/dto/#specifying-an-input-or-an-output-data-representation
* @param bool|array $mercure https://api-platform.com/docs/core/mercure
* @param bool $messenger https://api-platform.com/docs/core/messenger/#dispatching-a-resource-through-the-message-bus
* @param array $normalizationContext https://api-platform.com/docs/core/serialization/#using-serialization-groups
* @param array $openapiContext https://api-platform.com/docs/core/openapi/#using-the-openapi-and-swagger-contexts
* @param array $order https://api-platform.com/docs/core/default-order/#overriding-default-order
* @param mixed $output https://api-platform.com/docs/core/dto/#specifying-an-input-or-an-output-data-representation
* @param bool $paginationClientEnabled https://api-platform.com/docs/core/pagination/#for-a-specific-resource-1
* @param bool $paginationClientItemsPerPage https://api-platform.com/docs/core/pagination/#for-a-specific-resource-3
* @param bool $paginationClientPartial https://api-platform.com/docs/core/pagination/#for-a-specific-resource-6
* @param array $paginationViaCursor https://api-platform.com/docs/core/pagination/#cursor-based-pagination
* @param bool $paginationEnabled https://api-platform.com/docs/core/pagination/#for-a-specific-resource
* @param bool $paginationFetchJoinCollection https://api-platform.com/docs/core/pagination/#controlling-the-behavior-of-the-doctrine-orm-paginator
* @param int $paginationItemsPerPage https://api-platform.com/docs/core/pagination/#changing-the-number-of-items-per-page
* @param int $paginationMaximumItemsPerPage https://api-platform.com/docs/core/pagination/#changing-maximum-items-per-page
* @param bool $paginationPartial https://api-platform.com/docs/core/performance/#partial-pagination
* @param string $routePrefix https://api-platform.com/docs/core/operations/#prefixing-all-routes-of-all-operations
* @param string $security https://api-platform.com/docs/core/security
* @param string $securityMessage https://api-platform.com/docs/core/security/#configuring-the-access-control-error-message
* @param string $securityPostDenormalize https://api-platform.com/docs/core/security/#executing-access-control-rules-after-denormalization
* @param string $securityPostDenormalizeMessage https://api-platform.com/docs/core/security/#configuring-the-access-control-error-message
* @param bool $stateless
* @param string $sunset https://api-platform.com/docs/core/deprecations/#setting-the-sunset-http-header-to-indicate-when-a-resource-or-an-operation-will-be-removed
* @param array $swaggerContext https://api-platform.com/docs/core/openapi/#using-the-openapi-and-swagger-contexts
* @param array $validationGroups https://api-platform.com/docs/core/validation/#using-validation-groups
* @param int $urlGenerationStrategy
* @param bool $compositeIdentifier
* @param array $identifiers
* @param array $graphql
* @param string $method
* @param array $defaults
* @param array $requirements
* @param array $options
* @param string $host
* @param array $schemes
* @param string $condition
* @param string $controller
* @param string $uriTemplate
* @param string $description
* @param array $types
* @param string $shortName
* @param array $cacheHeaders https://api-platform.com/docs/core/performance/#setting-custom-http-cache-headers
* @param array $denormalizationContext https://api-platform.com/docs/core/serialization/#using-serialization-groups
* @param string $deprecationReason https://api-platform.com/docs/core/deprecations/#deprecating-resource-classes-operations-and-properties
* @param bool $elasticsearch https://api-platform.com/docs/core/elasticsearch/
* @param bool $fetchPartial https://api-platform.com/docs/core/performance/#fetch-partial
* @param bool $forceEager https://api-platform.com/docs/core/performance/#force-eager
* @param array|string $formats https://api-platform.com/docs/core/content-negotiation/#configuring-formats-for-a-specific-resource-or-operation
* @param array|string $inputFormats https://api-platform.com/docs/core/content-negotiation/#configuring-formats-for-a-specific-resource-or-operation
* @param array|string $outputFormats https://api-platform.com/docs/core/content-negotiation/#configuring-formats-for-a-specific-resource-or-operation
* @param string[] $filters https://api-platform.com/docs/core/filters/#doctrine-orm-and-mongodb-odm-filters
* @param string[] $hydraContext https://api-platform.com/docs/core/extending-jsonld-context/#hydra
* @param mixed $input https://api-platform.com/docs/core/dto/#specifying-an-input-or-an-output-data-representation
* @param bool|array $mercure https://api-platform.com/docs/core/mercure
* @param bool $messenger https://api-platform.com/docs/core/messenger/#dispatching-a-resource-through-the-message-bus
* @param array $normalizationContext https://api-platform.com/docs/core/serialization/#using-serialization-groups
* @param array $openapiContext https://api-platform.com/docs/core/openapi/#using-the-openapi-and-swagger-contexts
* @param array $order https://api-platform.com/docs/core/default-order/#overriding-default-order
* @param mixed $output https://api-platform.com/docs/core/dto/#specifying-an-input-or-an-output-data-representation
* @param bool $paginationClientEnabled https://api-platform.com/docs/core/pagination/#for-a-specific-resource-1
* @param bool $paginationClientItemsPerPage https://api-platform.com/docs/core/pagination/#for-a-specific-resource-3
* @param bool $paginationClientPartial https://api-platform.com/docs/core/pagination/#for-a-specific-resource-6
* @param array $paginationViaCursor https://api-platform.com/docs/core/pagination/#cursor-based-pagination
* @param bool $paginationEnabled https://api-platform.com/docs/core/pagination/#for-a-specific-resource
* @param bool $paginationFetchJoinCollection https://api-platform.com/docs/core/pagination/#controlling-the-behavior-of-the-doctrine-orm-paginator
* @param int $paginationItemsPerPage https://api-platform.com/docs/core/pagination/#changing-the-number-of-items-per-page
* @param int $paginationMaximumItemsPerPage https://api-platform.com/docs/core/pagination/#changing-maximum-items-per-page
* @param bool $paginationPartial https://api-platform.com/docs/core/performance/#partial-pagination
* @param string $routePrefix https://api-platform.com/docs/core/operations/#prefixing-all-routes-of-all-operations
* @param string $security https://api-platform.com/docs/core/security
* @param string $securityMessage https://api-platform.com/docs/core/security/#configuring-the-access-control-error-message
* @param string $securityPostDenormalize https://api-platform.com/docs/core/security/#executing-access-control-rules-after-denormalization
* @param string $securityPostDenormalizeMessage https://api-platform.com/docs/core/security/#configuring-the-access-control-error-message
* @param bool $stateless
* @param string $sunset https://api-platform.com/docs/core/deprecations/#setting-the-sunset-http-header-to-indicate-when-a-resource-or-an-operation-will-be-removed
* @param array $swaggerContext https://api-platform.com/docs/core/openapi/#using-the-openapi-and-swagger-contexts
* @param array $validationGroups https://api-platform.com/docs/core/validation/#using-validation-groups
* @param int $urlGenerationStrategy
* @param bool $compositeIdentifier
* @param array $identifiers
* @param array $graphql
*/
public function __construct(
public string $method = 'GET',
Expand All @@ -92,9 +92,9 @@ public function __construct(
public ?bool $elasticsearch = null,
public ?bool $fetchPartial = null,
public ?bool $forceEager = null,
public ?array $formats = null,
public ?array $inputFormats = null,
public ?array $outputFormats = null,
public mixed $formats = null,
public mixed $inputFormats = null,
public mixed $outputFormats = null,
public ?array $filters = null,
public ?array $hydraContext = null,
public mixed $input = null,
Expand Down

0 comments on commit f878cb3

Please sign in to comment.