@bearei/server-common 1.3.8 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,6 +16,7 @@ export type UpdateOptions<T> = Omit<BaseServiceOptions<T>, 'preValidateOptions'>
16
16
  preValidateOptions?: Omit<PreValidateOptions<T>, 'serviceName' | 'actionLogOptions'> & {
17
17
  validateKeys?: (keyof FindOptionsWhere<T>)[];
18
18
  };
19
+ rawEntity?: T;
19
20
  };
20
21
  export interface UpdatePreValidateOptions<T> {
21
22
  entity: T;
@@ -36,6 +37,7 @@ export type CountResult = {
36
37
  count?: number;
37
38
  };
38
39
  export interface UpdateAssociationOptions<T> extends Omit<BaseServiceOptions<T>, 'entityOptions' | 'findOptions'>, Pick<FindOptions<T>, 'findOptions'> {
40
+ associationKey: string;
39
41
  entityIds: string[];
40
42
  updateEntityOptions?: Record<string, DeepPartial<T>>;
41
43
  }
@@ -6,9 +6,9 @@ import type { CountOptions, CountResult, CreateOptions, DelOptions, FindOneOptio
6
6
  export declare class BaseService {
7
7
  private readonly actionLogService;
8
8
  constructor(actionLogService: ActionLogService);
9
- create<T extends CommonEntity>({ enabledLog, entityOptions, headers, preValidateOptions, serviceName }: CreateOptions<T>): (repository: Repository<T>) => Promise<(entityManager?: EntityManager) => Promise<T>>;
10
- del<T extends CommonEntity>({ findOptions, serviceName, headers, enabledLog }: DelOptions<T>): (repository: Repository<T>) => Promise<(entityManager?: EntityManager) => Promise<T>>;
11
- update<T extends CommonEntity>({ enabledLog, entityOptions, findOptions, headers, preValidateOptions, serviceName }: UpdateOptions<T>): (repository: Repository<T>) => (rawEntity?: T) => Promise<(entityManager?: EntityManager) => Promise<T>>;
9
+ create<T extends CommonEntity>({ enabledLog, entityOptions, headers, preValidateOptions, serviceName }: CreateOptions<T>): (repository: Repository<T>) => (entityManager?: EntityManager) => Promise<T>;
10
+ del<T extends CommonEntity>({ findOptions, serviceName, headers, enabledLog }: DelOptions<T>): (repository: Repository<T>) => (entityManager?: EntityManager) => Promise<T>;
11
+ update<T extends CommonEntity>({ enabledLog, entityOptions, findOptions, headers, preValidateOptions, rawEntity, serviceName }: UpdateOptions<T>): (repository: Repository<T>) => (entityManager?: EntityManager) => Promise<T>;
12
12
  find<T extends CommonEntity>({ findOptions, findManyOptions }: FindOptions<T>): (repository: Repository<T>) => Promise<{
13
13
  limit: number;
14
14
  offset: number;
@@ -19,8 +19,8 @@ export declare class BaseService {
19
19
  findOne<T extends CommonEntity>({ serviceName, findOptions, actionLogOptions }: FindOneOptions<T>): (repository: Repository<T>) => Promise<T>;
20
20
  updateAssociation<T extends CommonEntity & {
21
21
  protected?: boolean;
22
- }>({ enabledLog, entityIds: rawEntityIds, findOptions, headers, serviceName, updateEntityOptions }: UpdateAssociationOptions<T>): (associationKey: string) => (repository: Repository<T>) => Promise<(entityManager?: EntityManager) => Promise<T[]>>;
23
- preValidate<T extends CommonEntity>({ actionLogOptions, findOptions, orValidateKeysGroups, serviceName, validateMethod }: PreValidateOptions<T>): Promise<(repository: Repository<T>) => Promise<void>>;
22
+ }>({ associationKey, enabledLog, entityIds: rawEntityIds, findOptions, headers, serviceName, updateEntityOptions }: UpdateAssociationOptions<T>): (repository: Repository<T>) => (entityManager?: EntityManager) => Promise<T[]>;
23
+ preValidate<T extends CommonEntity>({ actionLogOptions, findOptions, orValidateKeysGroups, serviceName, validateMethod }: PreValidateOptions<T>): (repository: Repository<T>) => Promise<void>;
24
24
  checkProhibited<T extends CommonEntity>(actionLogOptions?: ActionLogOptions): (entity: T & {
25
25
  protected?: boolean;
26
26
  }) => Promise<void>;
@@ -29,24 +29,16 @@ let BaseService = class BaseService {
29
29
  raw: { entityOptions },
30
30
  serviceName
31
31
  };
32
- return async (repository) => {
32
+ return (repository) => async (entityManager) => {
33
33
  const isPreValidate = Boolean(preValidateOptions?.findOptions &&
34
34
  Object.entries(preValidateOptions.findOptions).filter(([, value]) => typeof value !== 'undefined').length);
35
35
  if (isPreValidate) {
36
- await (await this.preValidate({
37
- ...preValidateOptions,
38
- actionLogOptions,
39
- serviceName
40
- }))(repository);
36
+ await this.preValidate({ ...preValidateOptions, actionLogOptions, serviceName })(repository);
41
37
  }
42
38
  const createdEntity = repository.create(entityOptions);
43
- return async (entityManager) => {
44
- const entity = await (entityManager ?
45
- entityManager.save(createdEntity)
46
- : createdEntity.save());
47
- this.createSuccessActionLog(actionLogOptions)(entity);
48
- return entity;
49
- };
39
+ const entity = await (entityManager ? entityManager.save(createdEntity) : createdEntity.save());
40
+ this.createSuccessActionLog(actionLogOptions)(entity);
41
+ return entity;
50
42
  };
51
43
  }
52
44
  del({ findOptions, serviceName, headers, enabledLog = true }) {
@@ -58,19 +50,17 @@ let BaseService = class BaseService {
58
50
  raw: { findOptions },
59
51
  serviceName
60
52
  };
61
- return async (repository) => {
53
+ return (repository) => async (entityManager) => {
62
54
  const entity = await this.findOne({ serviceName, findOptions, actionLogOptions })(repository);
63
55
  const raw = enabledLog ? { ...actionLogOptions.raw, entity: { ...entity } } : undefined;
64
56
  await this.checkProhibited(actionLogOptions)(entity);
65
57
  await entity.softRemove();
66
- return async (entityManager) => {
67
- const result = await (entityManager ? entityManager.save(entity) : entity.save());
68
- this.createSuccessActionLog({ ...actionLogOptions, raw })(entity);
69
- return result;
70
- };
58
+ const result = await (entityManager ? entityManager.save(entity) : entity.save());
59
+ this.createSuccessActionLog({ ...actionLogOptions, raw })(entity);
60
+ return result;
71
61
  };
72
62
  }
73
- update({ enabledLog = true, entityOptions, findOptions, headers, preValidateOptions, serviceName }) {
63
+ update({ enabledLog = true, entityOptions, findOptions, headers, preValidateOptions, rawEntity, serviceName }) {
74
64
  const actionLogOptions = {
75
65
  action: app_enum_1.ACTION.UPDATE,
76
66
  enabledLog,
@@ -97,7 +87,7 @@ let BaseService = class BaseService {
97
87
  return;
98
88
  }
99
89
  const preValidateFindOptions = preValidateKeys.reduce(buildFindOptions(rawPreValidateFindOptions)(entity), {});
100
- await (await this.preValidate({
90
+ await this.preValidate({
101
91
  ...restPreValidateOptions,
102
92
  actionLogOptions,
103
93
  findOptions: {
@@ -105,23 +95,24 @@ let BaseService = class BaseService {
105
95
  notId: entity.id
106
96
  },
107
97
  serviceName
108
- }))(repository);
98
+ })(repository);
109
99
  };
110
- return (repository) => async (rawEntity) => {
100
+ return (repository) => async (entityManager) => {
111
101
  const entity = rawEntity ??
112
102
  (await this.findOne({ actionLogOptions, findOptions, serviceName })(repository));
113
103
  const raw = enabledLog ? { ...actionLogOptions.raw, entity: { ...entity }, entityOptions } : undefined;
114
104
  const nextActionLogOptions = { ...actionLogOptions, raw };
115
105
  await this.checkProhibited(nextActionLogOptions)(entity);
116
106
  if (preValidateOptions) {
117
- await preValidateUpdate(preValidateOptions)(nextActionLogOptions)({ entity, repository });
107
+ await preValidateUpdate(preValidateOptions)(nextActionLogOptions)({
108
+ entity,
109
+ repository
110
+ });
118
111
  }
119
112
  repository.merge(entity, entityOptions);
120
- return async (entityManager) => {
121
- await (entityManager ? entityManager.save(entity) : entity.save());
122
- this.createSuccessActionLog({ ...actionLogOptions, raw })(entity);
123
- return entity;
124
- };
113
+ await (entityManager ? entityManager.save(entity) : entity.save());
114
+ this.createSuccessActionLog({ ...actionLogOptions, raw })(entity);
115
+ return entity;
125
116
  };
126
117
  }
127
118
  find({ findOptions, findManyOptions = {} }) {
@@ -218,117 +209,115 @@ let BaseService = class BaseService {
218
209
  return entity;
219
210
  };
220
211
  }
221
- updateAssociation({ enabledLog = true, entityIds: rawEntityIds, findOptions, headers, serviceName, updateEntityOptions = {} }) {
212
+ updateAssociation({ associationKey, enabledLog = true, entityIds: rawEntityIds, findOptions, headers, serviceName, updateEntityOptions = {} }) {
222
213
  const { size: _, ...restFindOptions } = findOptions;
223
214
  const entityIdsSet = new Set(rawEntityIds);
224
215
  const entityIds = [...entityIdsSet];
225
216
  const filterResult = (entity) => !entity.deletedAt && entity.entityStatus === app_enum_1.ENTITY_STATUS.STANDARD;
226
- return (associationKey) => {
227
- const actionLogOptions = {
228
- action: app_enum_1.ACTION.UPDATE,
229
- enabledLog,
230
- headers,
231
- message: `Update ${serviceName} and ${associationKey} associations.`,
232
- raw: { findOptions },
233
- serviceName
234
- };
235
- return async (repository) => {
236
- const rawEntities = await this.find({
237
- findManyOptions: { withDeleted: true },
238
- findOptions
239
- })(repository).then(({ results }) => results);
240
- const raw = enabledLog ?
241
- {
242
- ...actionLogOptions.raw,
243
- associationKey,
244
- entities: rawEntities.map(entity => ({ ...entity })),
245
- entityIds
246
- }
247
- : undefined;
248
- const existingIdsSet = new Set(rawEntities.map(entity => entity[associationKey]));
249
- const entitiesToAdd = entityIds.reduce((accumulator, id) => !existingIdsSet.has(id) ?
250
- [
251
- ...accumulator,
252
- repository.create({
253
- ...updateEntityOptions[id],
254
- ...restFindOptions,
255
- [associationKey]: id
256
- })
257
- ]
258
- : accumulator, []);
259
- const entitiesToRemove = await Promise.all(rawEntities.reduce((accumulator, entity) => !entityIdsSet.has(entity[associationKey]) ?
260
- [...accumulator, entity.softRemove()]
261
- : accumulator, []));
262
- if (entitiesToRemove?.length) {
263
- await Promise.all(entitiesToRemove.map(this.checkProhibited(actionLogOptions)));
264
- }
265
- const entitiesToRecover = await Promise.all(rawEntities.reduce((accumulator, entity) => {
266
- const isRecover = entityIdsSet.has(entity[associationKey]) &&
267
- entity.deletedAt &&
268
- entity.entityStatus === app_enum_1.ENTITY_STATUS.SOFT_REMOVED;
269
- if (isRecover) {
270
- repository.merge(entity, updateEntityOptions[entity[associationKey]]);
271
- return [...accumulator, entity.recover()];
272
- }
273
- return accumulator;
274
- }, []));
275
- const entities = [...entitiesToAdd, ...entitiesToRecover, ...entitiesToRemove];
276
- return async (entityManager) => {
277
- const savedEntities = await (entityManager ?
278
- entityManager.save(entities)
279
- : repository.save(entities));
280
- this.createSuccessActionLog({ ...actionLogOptions, raw })(savedEntities);
281
- return [...rawEntities, ...entitiesToAdd].filter(filterResult);
282
- };
283
- };
217
+ const actionLogOptions = {
218
+ action: app_enum_1.ACTION.UPDATE,
219
+ enabledLog,
220
+ headers,
221
+ message: `Update ${serviceName} and ${associationKey} associations.`,
222
+ raw: { findOptions },
223
+ serviceName
284
224
  };
285
- }
286
- async preValidate({ actionLogOptions, findOptions, orValidateKeysGroups, serviceName, validateMethod = 'and' }) {
287
- const createBuildFindOptionsByKeys = ({ notId, ...restOptions }) => (keys) => keys.reduce((accumulator, value) => typeof value !== 'undefined' ?
288
- {
289
- ...accumulator,
290
- [value]: restOptions[value]
291
- }
292
- : accumulator, (notId ? { id: (0, typeorm_1.Not)(notId) } : {}));
293
- const buildOrWhereConditions = (findOptions) => async (orValidateKeysGroups) => {
294
- const { notId, ...restFindOptions } = findOptions;
295
- const isInvalidOrValidateKeysGroups = orValidateKeysGroups && !orValidateKeysGroups.every(keys => Array.isArray(keys));
296
- if (isInvalidOrValidateKeysGroups) {
297
- const orValidateKeysGroups = [
298
- ['key1', 'key2'],
299
- ['key1', 'key3']
300
- ].join('、');
301
- await this.throwError({
302
- code: exception_1.HTTP_EXCEPTION_CODE.OR_VALIDATION_PARAMETER_INTERNAL,
303
- httpException: exception_1.HTTP_EXCEPTION.BAD_REQUEST,
304
- message: `When using "or" as the validation method, the parameter orValidateKeysGroups must be a two-dimensional array. ${orValidateKeysGroups}.`
305
- })(actionLogOptions);
225
+ return (repository) => async (entityManager) => {
226
+ const rawEntities = await this.find({ findManyOptions: { withDeleted: true }, findOptions })(repository).then(({ results }) => results);
227
+ const raw = enabledLog ?
228
+ {
229
+ ...actionLogOptions.raw,
230
+ associationKey,
231
+ entities: rawEntities.map(entity => ({ ...entity })),
232
+ entityIds
233
+ }
234
+ : undefined;
235
+ const existingIdsSet = new Set(rawEntities.map(entity => entity[associationKey]));
236
+ const entitiesToAdd = entityIds.reduce((accumulator, id) => !existingIdsSet.has(id) ?
237
+ [
238
+ ...accumulator,
239
+ repository.create({
240
+ ...updateEntityOptions[id],
241
+ ...restFindOptions,
242
+ [associationKey]: id
243
+ })
244
+ ]
245
+ : accumulator, []);
246
+ const entitiesToRemove = await Promise.all(rawEntities.reduce((accumulator, entity) => !entityIdsSet.has(entity[associationKey]) ?
247
+ [...accumulator, entity.softRemove()]
248
+ : accumulator, []));
249
+ if (entitiesToRemove?.length) {
250
+ await Promise.all(entitiesToRemove.map(this.checkProhibited(actionLogOptions)));
306
251
  }
307
- const orValidateKeysGroupsSet = new Set(orValidateKeysGroups?.flat());
308
- const buildFindOptionsByKeys = createBuildFindOptionsByKeys(findOptions);
309
- const findOrOptions = orValidateKeysGroups?.map(buildFindOptionsByKeys) ?? [];
310
- return {
311
- where: [
312
- ...Object.entries(restFindOptions).reduce((accumulator, [key, value]) => !orValidateKeysGroupsSet.has(key) ?
313
- [
314
- ...accumulator,
315
- {
316
- ...(notId && { id: (0, typeorm_1.Not)(notId) }),
317
- [key]: value
318
- }
319
- ]
320
- : accumulator, []),
321
- ...findOrOptions
322
- ],
323
- findOrOptions
324
- };
252
+ const entitiesToRecover = await Promise.all(rawEntities.reduce((accumulator, entity) => {
253
+ const isRecover = entityIdsSet.has(entity[associationKey]) &&
254
+ entity.deletedAt &&
255
+ entity.entityStatus === app_enum_1.ENTITY_STATUS.SOFT_REMOVED;
256
+ if (isRecover) {
257
+ repository.merge(entity, updateEntityOptions[entity[associationKey]]);
258
+ return [...accumulator, entity.recover()];
259
+ }
260
+ return accumulator;
261
+ }, []));
262
+ const entities = [...entitiesToAdd, ...entitiesToRecover, ...entitiesToRemove];
263
+ const savedEntities = await (entityManager ?
264
+ entityManager.save(entities)
265
+ : repository.save(entities));
266
+ this.createSuccessActionLog({ ...actionLogOptions, raw })(savedEntities);
267
+ return [...rawEntities, ...entitiesToAdd].filter(filterResult);
325
268
  };
326
- const { notId, ...restFindOptions } = findOptions;
327
- const { where: orWhere, findOrOptions } = validateMethod === 'or' ?
328
- await buildOrWhereConditions(findOptions)(orValidateKeysGroups)
329
- : {};
330
- const where = validateMethod === 'and' ? { ...restFindOptions, ...(notId && { id: (0, typeorm_1.Not)(notId) }) } : orWhere;
269
+ }
270
+ preValidate({ actionLogOptions, findOptions, orValidateKeysGroups, serviceName, validateMethod = 'and' }) {
331
271
  return async (repository) => {
272
+ const createBuildFindOptionsByKeys = ({ notId, ...restOptions }) => (keys) => keys.reduce((accumulator, value) => typeof value !== 'undefined' ?
273
+ {
274
+ ...accumulator,
275
+ [value]: restOptions[value]
276
+ }
277
+ : accumulator, (notId ? { id: (0, typeorm_1.Not)(notId) } : {}));
278
+ const buildOrWhereConditions = (findOptions) => async (orValidateKeysGroups) => {
279
+ const { notId, ...restFindOptions } = findOptions;
280
+ const isInvalidOrValidateKeysGroups = orValidateKeysGroups &&
281
+ !orValidateKeysGroups.every(keys => Array.isArray(keys));
282
+ if (isInvalidOrValidateKeysGroups) {
283
+ const orValidateKeysGroups = [
284
+ ['key1', 'key2'],
285
+ ['key1', 'key3']
286
+ ].join('、');
287
+ await this.throwError({
288
+ code: exception_1.HTTP_EXCEPTION_CODE.OR_VALIDATION_PARAMETER_INTERNAL,
289
+ httpException: exception_1.HTTP_EXCEPTION.BAD_REQUEST,
290
+ message: `When using "or" as the validation method, the parameter orValidateKeysGroups must be a two-dimensional array. ${orValidateKeysGroups}.`
291
+ })(actionLogOptions);
292
+ }
293
+ const orValidateKeysGroupsSet = new Set(orValidateKeysGroups?.flat());
294
+ const buildFindOptionsByKeys = createBuildFindOptionsByKeys(findOptions);
295
+ const findOrOptions = orValidateKeysGroups?.map(buildFindOptionsByKeys) ?? [];
296
+ return {
297
+ where: [
298
+ ...Object.entries(restFindOptions).reduce((accumulator, [key, value]) => !orValidateKeysGroupsSet.has(key) ?
299
+ [
300
+ ...accumulator,
301
+ {
302
+ ...(notId && {
303
+ id: (0, typeorm_1.Not)(notId)
304
+ }),
305
+ [key]: value
306
+ }
307
+ ]
308
+ : accumulator, []),
309
+ ...findOrOptions
310
+ ],
311
+ findOrOptions
312
+ };
313
+ };
314
+ const { notId, ...restFindOptions } = findOptions;
315
+ const { where: orWhere, findOrOptions } = validateMethod === 'or' ?
316
+ await buildOrWhereConditions(findOptions)(orValidateKeysGroups)
317
+ : {};
318
+ const where = validateMethod === 'and' ?
319
+ { ...restFindOptions, ...(notId && { id: (0, typeorm_1.Not)(notId) }) }
320
+ : orWhere;
332
321
  const entity = await repository.findOne({
333
322
  select: Object.keys(restFindOptions),
334
323
  where
@@ -1 +1 @@
1
- {"version":3,"file":"base-service.service.js","sourceRoot":"","sources":["../../src/base-service/base-service.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-service.service.js","sourceRoot":"","sources":["../../src/base-service/base-service.service.ts"],"names":[],"mappings":"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"}