diff --git a/apps/backend/src/modules/portfolio/portfolio.controller.ts b/apps/backend/src/modules/portfolio/portfolio.controller.ts index 777a1d5..9632fe6 100644 --- a/apps/backend/src/modules/portfolio/portfolio.controller.ts +++ b/apps/backend/src/modules/portfolio/portfolio.controller.ts @@ -27,7 +27,7 @@ const nullDataEnvelopeSchema = { type: 'object', properties: { data: { - nullable: true, + type: 'null', }, meta: { $ref: getSchemaPath(PortfolioResponseMetaDto), diff --git a/apps/backend/src/openapi-artifacts.spec.ts b/apps/backend/src/openapi-artifacts.spec.ts index 52529a5..9a7a962 100644 --- a/apps/backend/src/openapi-artifacts.spec.ts +++ b/apps/backend/src/openapi-artifacts.spec.ts @@ -93,4 +93,16 @@ describe('checked-in OpenAPI artifacts', () => { ).toBeDefined(); } }); + + it('portfolio delete operations document a null data envelope', () => { + for (const [method, path, status] of [ + ['delete', '/api/v1/portfolios/{id}', 200], + ['delete', '/api/v1/portfolios/{id}/positions/{positionId}', 200], + ] as const) { + expect( + openapi.paths[path][method].responses[status].content['application/json'].schema.properties + .data, + ).toMatchObject({ type: 'null' }); + } + }); }); diff --git a/apps/frontend/src/api/types.ts b/apps/frontend/src/api/types.ts index 9d9d3e2..0046607 100644 --- a/apps/frontend/src/api/types.ts +++ b/apps/frontend/src/api/types.ts @@ -1171,7 +1171,7 @@ export interface operations { }; content: { 'application/json': { - data: unknown; + data: null; meta: components['schemas']['PortfolioResponseMetaDto']; }; }; @@ -1246,7 +1246,7 @@ export interface operations { }; content: { 'application/json': { - data: unknown; + data: null; meta: components['schemas']['PortfolioResponseMetaDto']; }; }; diff --git a/docs/openapi/openapi.yaml b/docs/openapi/openapi.yaml index e122902..767391b 100644 --- a/docs/openapi/openapi.yaml +++ b/docs/openapi/openapi.yaml @@ -586,7 +586,7 @@ paths: type: object properties: data: - nullable: true + type: 'null' meta: $ref: '#/components/schemas/PortfolioResponseMetaDto' required: @@ -678,7 +678,7 @@ paths: type: object properties: data: - nullable: true + type: 'null' meta: $ref: '#/components/schemas/PortfolioResponseMetaDto' required: