diff --git a/src/core/modules/data/service/base-data.service.ts b/src/core/modules/data/service/base-data.service.ts index e60c841..ac01ff1 100644 --- a/src/core/modules/data/service/base-data.service.ts +++ b/src/core/modules/data/service/base-data.service.ts @@ -17,8 +17,8 @@ export abstract class BaseDataService { entityTarget: EntityTarget, entity: Entity, ): Promise { - const newEntity = queryRunner.manager.create(entityTarget, entity); - return await queryRunner.manager.save(newEntity); + // const newEntity = this.repository.create(entityTarget, entity); + return await this.repository.save(entity); } async createMany( @@ -26,8 +26,8 @@ export abstract class BaseDataService { entityTarget: EntityTarget, entity: Entity[], ): Promise { - const newEntity = queryRunner.manager.create(entityTarget, entity); - return await queryRunner.manager.save(newEntity); + // const newEntity = this.repository.create(entityTarget, entity); + return await this.repository.save(entity); } async createBatch( @@ -35,8 +35,8 @@ export abstract class BaseDataService { entityTarget: EntityTarget, entity: Entity[], ): Promise { - const newEntity = queryRunner.manager.create(entityTarget, entity); - return await queryRunner.manager.save(newEntity); + // const newEntity = this.repository.create(entityTarget, entity); + return await this.repository.save(entity); } async update( @@ -45,13 +45,13 @@ export abstract class BaseDataService { filterUpdate: any, entity: Entity, ): Promise { - const newEntity = await queryRunner.manager.findOne(entityTarget, { + const newEntity = await this.repository.findOne({ where: filterUpdate, }); if (!newEntity) throw new Error('Data not found!'); Object.assign(newEntity, entity); - return await queryRunner.manager.save(newEntity); + return await this.repository.save(newEntity); } async deleteById( @@ -59,7 +59,7 @@ export abstract class BaseDataService { entityTarget: EntityTarget, id: string, ): Promise { - await queryRunner.manager.delete(entityTarget, { id }); + await this.repository.delete(id); } async deleteByOptions( @@ -67,11 +67,8 @@ export abstract class BaseDataService { entityTarget: EntityTarget, findManyOptions: FindManyOptions, ): Promise { - const datas = await queryRunner.manager.find(entityTarget, findManyOptions); - await queryRunner.manager.delete( - entityTarget, - datas?.map((item) => item['id']), - ); + const datas = await this.repository.find(findManyOptions); + await this.repository.delete(datas?.map((item) => item['id'])); } async getOneByOptions(findOneOptions): Promise { diff --git a/src/core/modules/domain/usecase/base.manager.ts b/src/core/modules/domain/usecase/base.manager.ts index 9900f13..0afe79f 100644 --- a/src/core/modules/domain/usecase/base.manager.ts +++ b/src/core/modules/domain/usecase/base.manager.ts @@ -60,7 +60,7 @@ export abstract class BaseManager { try { this.setUser(); - // this.queryRunner.startTransaction(); + this.queryRunner.startTransaction(); this.baseLog.verbose('prepareData'); await this.prepareData(); @@ -80,13 +80,13 @@ export abstract class BaseManager { this.baseLog.verbose('afterProcess'); await this.afterProcess(); - // this.baseLog.verbose('commitTransaction'); - // await this.queryRunner.commitTransaction(); - - // await this.queryRunner.release(); + this.baseLog.verbose('commitTransaction'); + await this.queryRunner.commitTransaction(); } catch (e) { if (e.response) throw new Error(JSON.stringify(e.response)); else throw new Error(e.message); + } finally { + await this.queryRunner.release(); } }