From d77e670257dc9ad50c90f0e3c913e91e407ad893 Mon Sep 17 00:00:00 2001 From: Mateus Garcia Date: Wed, 17 May 2023 06:47:42 -0300 Subject: [PATCH] fix: revert resource type when path is overridden --- .../lib/mixin/service/transform/transform.mixin.ts | 13 +++++++------ .../service/typeorm/methods/get-one/get-one.spec.ts | 4 +++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/libs/json-api-nestjs/src/lib/mixin/service/transform/transform.mixin.ts b/libs/json-api-nestjs/src/lib/mixin/service/transform/transform.mixin.ts index 0e31a9dc..44e489de 100644 --- a/libs/json-api-nestjs/src/lib/mixin/service/transform/transform.mixin.ts +++ b/libs/json-api-nestjs/src/lib/mixin/service/transform/transform.mixin.ts @@ -165,7 +165,8 @@ export class TransformMixinService { include: string[] = [], table = this.currentResourceName ): ResourceData { - const urlTable = this.config?.['overrideRoute'] || camelToKebab(table); + const urlTable = camelToKebab(table); + const routePath = this.config?.['overrideRoute'] || camelToKebab(table); const attributes = {} as Attributes>; const relationships = {} as Partial>; @@ -214,13 +215,13 @@ export class TransformMixinService { ...(include.includes(field) && builtData.data ? builtData : {}), links: { self: this.getLink( - urlTable, + routePath, data[this.relationPrimaryField.get(field)], 'relationships', camelToKebab(field) ), related: this.getLink( - urlTable, + routePath, data[this.relationPrimaryField.get(field)], camelToKebab(field) ), @@ -240,12 +241,12 @@ export class TransformMixinService { relationships[itemRelation as string] = { links: { self: this.getLink( - urlTable, + routePath, data[idNameField], 'relationships', field ), - related: this.getLink(urlTable, data[idNameField], field), + related: this.getLink(routePath, data[idNameField], field), }, }; } @@ -255,7 +256,7 @@ export class TransformMixinService { attributes, relationships, links: { - self: this.getLink(urlTable, data[idNameField]), + self: this.getLink(routePath, data[idNameField]), }, }; } diff --git a/libs/json-api-nestjs/src/lib/mixin/service/typeorm/methods/get-one/get-one.spec.ts b/libs/json-api-nestjs/src/lib/mixin/service/typeorm/methods/get-one/get-one.spec.ts index 6d6852f6..67718bf7 100644 --- a/libs/json-api-nestjs/src/lib/mixin/service/typeorm/methods/get-one/get-one.spec.ts +++ b/libs/json-api-nestjs/src/lib/mixin/service/typeorm/methods/get-one/get-one.spec.ts @@ -155,7 +155,7 @@ describe('GetOne methode test', () => { }); it('should be correct if route is overriden', async () => { - expect.assertions(2); + expect.assertions(3); configParam.overrideRoute = 'overridden'; const response = await typeormService.getOne({ @@ -163,6 +163,8 @@ describe('GetOne methode test', () => { route: { id: params }, }); + expect(response.data['type']).toContain('users'); + expect(response.data['relationships'].addresses.links.related).toContain( 'overridden' );