Skip to content
Merged
102 changes: 0 additions & 102 deletions phpstan-baseline.neon
Original file line number Diff line number Diff line change
Expand Up @@ -1398,42 +1398,6 @@ parameters:
count: 1
path: src/lib/Server/Controller/Content.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:addContentTypeDraftFieldDefinition\(\) has parameter \$contentTypeId with no type specified\.$#'
identifier: missingType.parameter
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:copyContentType\(\) has parameter \$contentTypeId with no type specified\.$#'
identifier: missingType.parameter
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:createContentType\(\) has parameter \$contentTypeGroupId with no type specified\.$#'
identifier: missingType.parameter
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:createContentTypeDraft\(\) has parameter \$contentTypeId with no type specified\.$#'
identifier: missingType.parameter
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:deleteContentType\(\) has parameter \$contentTypeId with no type specified\.$#'
identifier: missingType.parameter
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:deleteContentTypeDraft\(\) has parameter \$contentTypeId with no type specified\.$#'
identifier: missingType.parameter
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:getContentTypeList\(\) should return array\<Ibexa\\Rest\\Server\\Controller\\ContentType\> but returns array\<Ibexa\\Contracts\\Core\\Repository\\Values\\ContentType\\ContentType\>\.$#'
identifier: return.type
Expand All @@ -1446,12 +1410,6 @@ parameters:
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:loadContentTypeDraft\(\) has parameter \$contentTypeId with no type specified\.$#'
identifier: missingType.parameter
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:loadContentTypeDraftFieldDefinition\(\) has parameter \$contentTypeId with no type specified\.$#'
identifier: missingType.parameter
Expand All @@ -1470,24 +1428,12 @@ parameters:
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:loadContentTypeFieldDefinition\(\) has parameter \$contentTypeId with no type specified\.$#'
identifier: missingType.parameter
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:loadContentTypeFieldDefinition\(\) has parameter \$fieldDefinitionId with no type specified\.$#'
identifier: missingType.parameter
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:loadContentTypeFieldDefinitionList\(\) has parameter \$contentTypeId with no type specified\.$#'
identifier: missingType.parameter
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:loadContentTypeGroup\(\) has parameter \$contentTypeGroupId with no type specified\.$#'
identifier: missingType.parameter
Expand All @@ -1500,24 +1446,6 @@ parameters:
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:loadGroupsOfContentType\(\) has parameter \$contentTypeId with no type specified\.$#'
identifier: missingType.parameter
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:publishContentTypeDraft\(\) has parameter \$contentTypeId with no type specified\.$#'
identifier: missingType.parameter
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:removeContentTypeDraftFieldDefinition\(\) has parameter \$contentTypeId with no type specified\.$#'
identifier: missingType.parameter
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:removeContentTypeDraftFieldDefinition\(\) has parameter \$fieldDefinitionId with no type specified\.$#'
identifier: missingType.parameter
Expand All @@ -1536,24 +1464,6 @@ parameters:
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:unlinkContentTypeFromGroup\(\) has parameter \$contentTypeGroupId with no type specified\.$#'
identifier: missingType.parameter
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:unlinkContentTypeFromGroup\(\) has parameter \$contentTypeId with no type specified\.$#'
identifier: missingType.parameter
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:updateContentTypeDraft\(\) has parameter \$contentTypeId with no type specified\.$#'
identifier: missingType.parameter
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:updateContentTypeDraftFieldDefinition\(\) has parameter \$contentTypeId with no type specified\.$#'
identifier: missingType.parameter
Expand All @@ -1572,18 +1482,6 @@ parameters:
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Method Ibexa\\Rest\\Server\\Controller\\ContentType\:\:updateContentTypeGroup\(\) has parameter \$contentTypeGroupId with no type specified\.$#'
identifier: missingType.parameter
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Parameter \#1 \$contentTypeGroupId of method Ibexa\\Contracts\\Core\\Repository\\ContentTypeService\:\:loadContentTypeGroup\(\) expects int, string given\.$#'
identifier: argument.type
count: 1
path: src/lib/Server/Controller/ContentType.php

-
message: '#^Parameter \#1 \$contentTypeGroupIdentifier of method Ibexa\\Contracts\\Core\\Repository\\ContentTypeService\:\:loadContentTypeGroupByIdentifier\(\) expects string, string\|null given\.$#'
identifier: argument.type
Expand Down
2 changes: 2 additions & 0 deletions src/bundle/DependencyInjection/IbexaRestExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ protected function loadInternal(array $mergedConfig, ContainerBuilder $container
$loader->load('input_parsers.yml');
$loader->load('security.yml');
$loader->load('default_settings.yml');
$loader->load('criteria.yaml');
$loader->load('sort_clauses.yaml');

$processor = new ConfigurationProcessor($container, 'ibexa.site_access.config');
$processor->mapConfigArray('rest_root_resources', $mergedConfig);
Expand Down
40 changes: 40 additions & 0 deletions src/bundle/Resources/config/criteria.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
services:
_instanceof:
Ibexa\Rest\Server\Input\Parser\ContentType\Criterion\ContentTypeCriterionInterface:
tags:
- 'ibexa.rest.content_type.criterion'

Ibexa\Rest\Server\Input\Parser\ContentType\Criterion\CriterionProcessor:
parent: Ibexa\Contracts\Rest\Input\Parser\Query\Criterion\BaseCriterionProcessor

Ibexa\Rest\Server\Input\Parser\ContentType\SortClause\SortClauseProcessor:
parent: Ibexa\Contracts\Rest\Input\Parser\Query\SortClause\BaseSortClauseProcessor

Ibexa\Rest\Server\Input\Parser\ContentType\Criterion\ContentTypeCriteriaRegistry:
arguments:
- !tagged_iterator ibexa.rest.content_type.criterion

Ibexa\Rest\Server\Input\Parser\ContentType\Criterion\ContentTypeId:
parent: Ibexa\Rest\Server\Common\Parser
tags:
- { name: ibexa.rest.input.parser, mediaType: application/vnd.ibexa.api.internal.criterion.ContentTypeId }

Ibexa\Rest\Server\Input\Parser\ContentType\Criterion\ContentTypeIdentifier:
parent: Ibexa\Rest\Server\Common\Parser
tags:
- { name: ibexa.rest.input.parser, mediaType: application/vnd.ibexa.api.internal.criterion.ContentTypeIdentifier }

Ibexa\Rest\Server\Input\Parser\ContentType\Criterion\IsSystem:
parent: Ibexa\Rest\Server\Common\Parser
tags:
- { name: ibexa.rest.input.parser, mediaType: application/vnd.ibexa.api.internal.criterion.IsSystem }

Ibexa\Rest\Server\Input\Parser\ContentType\Criterion\ContentTypeGroupId:
parent: Ibexa\Rest\Server\Common\Parser
tags:
- { name: ibexa.rest.input.parser, mediaType: application/vnd.ibexa.api.internal.criterion.ContentTypeGroupId }

Ibexa\Rest\Server\Input\Parser\ContentType\Criterion\ContainsFieldDefinitionId:
parent: Ibexa\Rest\Server\Common\Parser
tags:
- { name: ibexa.rest.input.parser, mediaType: application/vnd.ibexa.api.internal.criterion.ContainsFieldDefinitionId }
15 changes: 15 additions & 0 deletions src/bundle/Resources/config/input_parsers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,21 @@ services:
tags:
- { name: ibexa.rest.input.parser, mediaType: application/vnd.ibexa.api.ContentTypeUpdate }

Ibexa\Rest\Server\Input\Parser\ContentType\RestViewInput:
parent: Ibexa\Rest\Server\Common\Parser
arguments:
$validator: '@validator'
tags:
- { name: ibexa.rest.input.parser, mediaType: application/vnd.ibexa.api.ContentTypeViewInput }

Ibexa\Rest\Server\Input\Parser\ContentType\Query\ContentTypeQuery:
parent: Ibexa\Rest\Server\Common\Parser
arguments:
$criterionProcessor: '@Ibexa\Rest\Server\Input\Parser\ContentType\Criterion\CriterionProcessor'
$sortClauseProcessor: '@Ibexa\Rest\Server\Input\Parser\ContentType\SortClause\SortClauseProcessor'
tags:
- { name: ibexa.rest.input.parser, mediaType: application/vnd.ibexa.api.internal.ContentTypeQuery }

Ibexa\Rest\Server\Input\Parser\FieldDefinitionCreate:
parent: Ibexa\Rest\Server\Common\Parser
class: Ibexa\Rest\Server\Input\Parser\FieldDefinitionCreate
Expand Down
7 changes: 7 additions & 0 deletions src/bundle/Resources/config/routing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -539,6 +539,13 @@ ibexa.rest.list_content_types:
_controller: Ibexa\Rest\Server\Controller\ContentType:listContentTypes
methods: [GET]

ibexa.rest.content_types.view:
path: /content/types/view
methods: [ POST ]
controller: Ibexa\Rest\Server\Controller\ContentType::createView
options:
expose: true

ibexa.rest.copy_content_type:
path: /content/types/{contentTypeId}
defaults:
Expand Down
24 changes: 24 additions & 0 deletions src/bundle/Resources/config/sort_clauses.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
services:
Ibexa\Rest\Server\Input\Parser\ContentType\SortClause\ContentTypeSortClausesRegistry:
arguments:
- !tagged_iterator ibexa.rest.content_type.sort_clause

ibexa.rest.input.parser.internal.sortclause.id:
parent: Ibexa\Rest\Server\Common\Parser
class: Ibexa\Rest\Server\Input\Parser\SortClause\DataKeyValueObjectClass
arguments:
$dataKey: 'Id'
$valueObjectClass: 'Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause\Id'
tags:
- { name: ibexa.rest.input.parser, mediaType: application/vnd.ibexa.api.internal.sortclause.Id }
- { name: ibexa.rest.content_type.sort_clause }

ibexa.rest.input.parser.internal.sortclause.identifier:
parent: Ibexa\Rest\Server\Common\Parser
class: Ibexa\Rest\Server\Input\Parser\SortClause\DataKeyValueObjectClass
arguments:
$dataKey: 'Identifier'
$valueObjectClass: 'Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause\Identifier'
tags:
- { name: ibexa.rest.input.parser, mediaType: application/vnd.ibexa.api.internal.sortclause.Identifier }
- { name: ibexa.rest.content_type.sort_clause }
Loading
Loading