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 841d2ff3..0e31a9dc 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,7 @@ export class TransformMixinService { include: string[] = [], table = this.currentResourceName ): ResourceData { - const urlTable = camelToKebab(table); + const urlTable = this.config?.['overrideRoute'] || camelToKebab(table); const attributes = {} as Attributes>; const relationships = {} as Partial>; 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 f314f46b..6d6852f6 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 @@ -154,6 +154,23 @@ describe('GetOne methode test', () => { } }); + it('should be correct if route is overriden', async () => { + expect.assertions(2); + configParam.overrideRoute = 'overridden'; + + const response = await typeormService.getOne({ + query: defaultField, + route: { id: params }, + }); + + expect(response.data['relationships'].addresses.links.related).toContain( + 'overridden' + ); + expect(response.data['relationships'].addresses.links.self).toContain( + 'overridden' + ); + }); + it('should be error if item not exist', async () => { expect.assertions(1); configParam.requiredSelectField = false;