From f1c2baef82e1db3e6bb81ea409669dcfb0c4ad22 Mon Sep 17 00:00:00 2001 From: Krishna Date: Tue, 7 May 2024 18:09:38 +0530 Subject: [PATCH] fix: triming issues while getting all credential definitions by schema Id Signed-off-by: Krishna --- .../credential-definition.controller.ts | 3 ++- libs/common/src/cast.helper.ts | 10 +++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/apps/api-gateway/src/credential-definition/credential-definition.controller.ts b/apps/api-gateway/src/credential-definition/credential-definition.controller.ts index ed84374fb..17ad88444 100644 --- a/apps/api-gateway/src/credential-definition/credential-definition.controller.ts +++ b/apps/api-gateway/src/credential-definition/credential-definition.controller.ts @@ -16,6 +16,7 @@ import { CreateCredentialDefinitionDto } from './dto/create-cred-defs.dto'; import { OrgRoles } from 'libs/org-roles/enums'; import { Roles } from '../authz/decorators/roles.decorator'; import { CustomExceptionFilter } from 'apps/api-gateway/common/exception-handler'; +import { TrimStringParamPipe } from '@credebl/common/cast.helper'; @ApiBearerAuth() @@ -59,7 +60,7 @@ export class CredentialDefinitionController { @ApiResponse({ status: HttpStatus.OK, description: 'Success', type: ApiResponseDto }) @UseGuards(AuthGuard('jwt')) async getCredentialDefinitionBySchemaId( - @Param('schemaId') schemaId: string, + @Param('schemaId', TrimStringParamPipe) schemaId: string, @Res() res: Response ): Promise { diff --git a/libs/common/src/cast.helper.ts b/libs/common/src/cast.helper.ts index be7995c74..9cb8d07aa 100644 --- a/libs/common/src/cast.helper.ts +++ b/libs/common/src/cast.helper.ts @@ -1,4 +1,5 @@ -import { BadRequestException } from '@nestjs/common'; +import { BadRequestException, PipeTransform } from '@nestjs/common'; +import { plainToClass } from 'class-transformer'; import { ValidationArguments, ValidationOptions, ValidatorConstraint, ValidatorConstraintInterface, isBase64, isMimeType, isUUID, registerDecorator } from 'class-validator'; interface ToNumberOptions { @@ -130,6 +131,13 @@ export class ImageBase64Validator implements ValidatorConstraintInterface { } } +export class TrimStringParamPipe implements PipeTransform { + // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type + transform(value: string) { + return plainToClass(String, value.trim()); + } +} + // export const IsNotUUID = (validationOptions?: ValidationOptions): PropertyDecorator => (object: object, propertyName: string) => { // registerDecorator({ // name: 'isNotUUID',