Skip to content

Commit faa147b

Browse files
committed
fix(openapi): vacuum instead of swagger-cli
1 parent c08758c commit faa147b

File tree

18 files changed

+39
-73
lines changed

18 files changed

+39
-73
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -473,23 +473,14 @@ jobs:
473473
- name: Export OpenAPI documents
474474
run: |
475475
mkdir -p build/out/openapi
476-
tests/Fixtures/app/console api:openapi:export -o build/out/openapi/openapi_v3.json
477476
tests/Fixtures/app/console api:openapi:export --yaml -o build/out/openapi/openapi_v3.yaml
478477
- name: Setup node
479478
uses: actions/setup-node@v4
480479
with:
481-
node-version: '14'
480+
node-version: '22'
482481
- name: Validate OpenAPI documents
483482
run: |
484-
npx swagger-cli validate build/out/openapi/openapi_v3.json
485-
npx swagger-cli validate build/out/openapi/openapi_v3.yaml
486-
- name: Upload OpenAPI artifacts
487-
if: always()
488-
uses: actions/upload-artifact@v4
489-
with:
490-
name: openapi-docs-php${{ matrix.php }}
491-
path: build/out/openapi
492-
continue-on-error: true
483+
npx @quobix/vacuum lint build/out/openapi/openapi_v3.yaml
493484
494485
postgresql:
495486
name: Behat (PHP ${{ matrix.php }}) (PostgreSQL)
@@ -1275,23 +1266,14 @@ jobs:
12751266
- name: Export OpenAPI documents
12761267
run: |
12771268
mkdir -p build/out/openapi
1278-
tests/Fixtures/app/console api:openapi:export -o build/out/openapi/openapi_v3.json
12791269
tests/Fixtures/app/console api:openapi:export --yaml -o build/out/openapi/openapi_v3.yaml
12801270
- name: Setup node
12811271
uses: actions/setup-node@v4
12821272
with:
1283-
node-version: '14'
1273+
node-version: '22'
12841274
- name: Validate OpenAPI documents
12851275
run: |
1286-
npx swagger-cli validate build/out/openapi/openapi_v3.json
1287-
npx swagger-cli validate build/out/openapi/openapi_v3.yaml
1288-
- name: Upload OpenAPI artifacts
1289-
if: always()
1290-
uses: actions/upload-artifact@v4
1291-
with:
1292-
name: openapi-docs-php${{ matrix.php }}
1293-
path: build/out/openapi
1294-
continue-on-error: true
1276+
npx @quobix/vacuum lint build/out/openapi/openapi_v3.yaml
12951277
12961278
laravel:
12971279
name: Laravel (PHP ${{ matrix.php }})

tests/Fixtures/TestBundle/ApiResource/Crud.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
use ApiPlatform\OpenApi\Model\Operation;
2424

2525
#[ApiResource(
26+
description: 'A resource used for OpenAPI tests.',
2627
operations: [
2728
new Get(),
2829
new GetCollection(openapi: new Operation(extensionProperties: [OpenApiFactory::API_PLATFORM_TAG => ['internal', 'anotherone']])),

tests/Fixtures/TestBundle/ApiResource/EntityClassWithDateTime.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
),
2626
new GetCollection(
2727
uriTemplate: '/EntityClassWithDateTime',
28-
uriVariables: ['id']
2928
),
3029
],
3130
stateOptions: new Options(entityClass: \ApiPlatform\Tests\Fixtures\TestBundle\Entity\EntityClassWithDateTime::class)

tests/Fixtures/TestBundle/ApiResource/Headers.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
)]
2828
class Headers
2929
{
30-
public $id;
30+
public int $id;
3131

3232
public static function provide(): self
3333
{

tests/Fixtures/TestBundle/ApiResource/Issue6355/OrderProductCount.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ class: OrderDto::class,
3232
read: false,
3333
write: false,
3434
name: 'order_product_update_count',
35+
uriVariables: ['id']
3536
),
3637
],
3738
order: ['position' => 'ASC'],

tests/Fixtures/TestBundle/Document/User.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
* @author Théo FIDRY <[email protected]>
3535
* @author Kévin Dunglas <[email protected]>
3636
*/
37-
#[ApiResource(operations: [new Get(), new Put(), new Delete(), new Put(input: RecoverPasswordInput::class, output: RecoverPasswordOutput::class, uriTemplate: 'users/recover/{id}'), new Post(), new GetCollection(), new Post(uriTemplate: '/users/password_reset_request', messenger: 'input', input: PasswordResetRequest::class, output: PasswordResetRequestResult::class, normalizationContext: ['groups' => ['user_password_reset_request']], denormalizationContext: ['groups' => ['user_password_reset_request']])], normalizationContext: ['groups' => ['user', 'user-read']], denormalizationContext: ['groups' => ['user', 'user-write']])]
37+
#[ApiResource(openapi: false, operations: [new Get(), new Put(), new Delete(), new Put(input: RecoverPasswordInput::class, output: RecoverPasswordOutput::class, uriTemplate: 'users/recover/{id}'), new Post(), new GetCollection(), new Post(uriTemplate: '/users/password_reset_request', messenger: 'input', input: PasswordResetRequest::class, output: PasswordResetRequestResult::class, normalizationContext: ['groups' => ['user_password_reset_request']], denormalizationContext: ['groups' => ['user_password_reset_request']])], normalizationContext: ['groups' => ['user', 'user-read']], denormalizationContext: ['groups' => ['user', 'user-write']])]
3838
#[ODM\Document(collection: 'user_test')]
3939
class User implements UserInterface, PasswordAuthenticatedUserInterface
4040
{

tests/Fixtures/TestBundle/Entity/AttributeOnlyOperation.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@
1414
namespace ApiPlatform\Tests\Fixtures\TestBundle\Entity;
1515

1616
use ApiPlatform\Metadata\Get;
17+
use ApiPlatform\OpenApi\Model\Operation;
1718

18-
#[Get(name: 'my own name')]
19+
#[Get(name: 'my own name', openapi: new Operation(operationId: 'my_own_name'))]
1920
final class AttributeOnlyOperation
2021
{
2122
}

tests/Fixtures/TestBundle/Entity/FilteredDateParameter.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,18 @@
3232
'date' => new QueryParameter(
3333
filter: new DateFilter(),
3434
property: 'createdAt',
35-
openApi: new Parameter('createdAt', 'query', allowEmptyValue: true)
35+
openApi: new Parameter('date', 'query', allowEmptyValue: true)
3636
),
3737
'date_include_null_always' => new QueryParameter(
3838
filter: new DateFilter(),
3939
property: 'createdAt',
4040
filterContext: DateFilterInterface::INCLUDE_NULL_BEFORE_AND_AFTER,
41-
openApi: new Parameter('createdAt', 'query', allowEmptyValue: true)
41+
openApi: new Parameter('date_include_null_always', 'query', allowEmptyValue: true)
4242
),
4343
'date_old_way' => new QueryParameter(
4444
filter: new DateFilter(properties: ['createdAt' => DateFilterInterface::INCLUDE_NULL_BEFORE_AND_AFTER]),
4545
property: 'createdAt',
46-
openApi: new Parameter('createdAt', 'query', allowEmptyValue: true)
46+
openApi: new Parameter('date_old_way', 'query', allowEmptyValue: true)
4747
),
4848
],
4949
)]

tests/Fixtures/TestBundle/Entity/FilteredRangeParameter.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,12 @@
2626
parameters: [
2727
'quantity' => new QueryParameter(
2828
filter: new RangeFilter(),
29-
openApi: new Parameter('createdAt', 'query', allowEmptyValue: true)
29+
openApi: new Parameter('quantity', 'query', allowEmptyValue: true)
3030
),
3131
'amount' => new QueryParameter(
3232
filter: new RangeFilter(),
3333
property: 'quantity',
34-
openApi: new Parameter('createdAt', 'query', allowEmptyValue: true)
34+
openApi: new Parameter('amount', 'query', allowEmptyValue: true)
3535
),
3636
],
3737
)]

tests/Fixtures/TestBundle/Entity/IdentifierShortcut.php

Lines changed: 0 additions & 22 deletions
This file was deleted.

0 commit comments

Comments
 (0)