fix(pipelines): 更新时重复判断时误判问题。

This commit is contained in:
Ivan Li
2021-06-27 10:32:39 +08:00
parent b626eed859
commit 9d735c582c
5 changed files with 33 additions and 14 deletions

View File

@ -53,8 +53,22 @@ export class BaseDbService<Entity extends AppBaseEntity> extends TypeormHelper {
async isDuplicateEntityForUpdate<Dto extends Entity>(
id: string,
dto: Partial<Dto>,
extendsFields?: Array<keyof Dto & string>,
): Promise<false | never>;
async isDuplicateEntityForUpdate<Dto extends Entity>(
old: Entity,
dto: Partial<Dto>,
extendsFields?: Array<keyof Dto & string>,
): Promise<false | never>;
async isDuplicateEntityForUpdate<Dto extends Entity>(
id: string | Entity,
dto: Partial<Dto>,
extendsFields: Array<keyof Dto & string> = [],
): Promise<false | never> {
if (typeof id !== 'string') {
dto = Object.assign({}, id, dto);
id = id.id;
}
const qb = this.repository.createQueryBuilder('entity');
const compareFields = this.getCompareFields(dto, [
...this.uniqueFields,