#typescript #graphql #nestjs
Вопрос:
не могу добавить декоратор @IsUUID()
из class-validator
в свой параметр productI
, я не хочу использовать дополнительный dto. Как это исправить?
@UseGuards(new AuthGuard(['user', 'admin'])) @Mutation(() =gt; ProductEntity) async updateProduct( @User() user, @Args('productId', {}) //@IsUUID() Unable to resolve signature of parameter decorator when called as an expression. productId: string, @Args('inputs', {}) inputs: UpdateProductInputDto, ): Promiselt;ProductEntitygt; { return this.productService.updateProduct(user.id, productId, inputs); }
Ответ №1:
Тут ничего не поделаешь. Если вы хотите использовать @IsUUID()
и ValidationPipe
, вы должны использовать класс DTO. Если вы просто хотите проверить UUID
, хотя, вы могли бы использовать ParseUUIDPipe
. @Args('productId', {}, new ParseUUIDPipe({ version: 4 }))