diff --git a/packages/crud-typeorm/src/typeorm-crud.service.ts b/packages/crud-typeorm/src/typeorm-crud.service.ts index 32a9d9f1..5859ff01 100644 --- a/packages/crud-typeorm/src/typeorm-crud.service.ts +++ b/packages/crud-typeorm/src/typeorm-crud.service.ts @@ -181,7 +181,9 @@ export class TypeOrmCrudService extends CrudService { const toSave = !allowParamsOverride ? { ...found, ...dto, ...paramsFilters, ...req.parsed.authPersist } : { ...found, ...dto, ...req.parsed.authPersist }; - const updated = await this.repo.save(plainToClass(this.entityType, toSave)); + const updated = await this.repo.save( + plainToClass(this.entityType, toSave, { ignoreDecorators: true }), + ); if (returnShallow) { return updated; @@ -221,7 +223,9 @@ export class TypeOrmCrudService extends CrudService { ...dto, ...req.parsed.authPersist, }; - const replaced = await this.repo.save(plainToClass(this.entityType, toSave)); + const replaced = await this.repo.save( + plainToClass(this.entityType, toSave, { ignoreDecorators: true }), + ); if (returnShallow) { return replaced; @@ -249,7 +253,7 @@ export class TypeOrmCrudService extends CrudService { const { returnDeleted } = req.options.routes.deleteOneBase; const found = await this.getOneOrFail(req, returnDeleted); const toReturn = returnDeleted - ? plainToClass(this.entityType, { ...found }) + ? plainToClass(this.entityType, { ...found }, { ignoreDecorators: true }) : undefined; const deleted = req.options.query.softDelete === true @@ -448,7 +452,11 @@ export class TypeOrmCrudService extends CrudService { return dto instanceof this.entityType ? Object.assign(dto, parsed.authPersist) - : plainToClass(this.entityType, { ...dto, ...parsed.authPersist }); + : plainToClass( + this.entityType, + { ...dto, ...parsed.authPersist }, + { ignoreDecorators: true }, + ); } protected getAllowedColumns(columns: string[], options: QueryOptions): string[] {