@steroidsjs/nest 3.0.2 → 3.0.3

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.
@@ -2,14 +2,15 @@ import { SearchResultDto } from '../dtos/SearchResultDto';
2
2
  import { SearchInputDto } from '../dtos/SearchInputDto';
3
3
  import SearchQuery, { ISearchQueryConfig } from '../base/SearchQuery';
4
4
  import { ICondition } from '../../infrastructure/helpers/typeORM/ConditionHelperTypeORM';
5
+ export type TransactionHandler<TModel> = (callback: () => Promise<TModel>) => Promise<TModel>;
5
6
  export interface ICrudRepository<TModel> {
6
7
  search: <TItem>(dto: SearchInputDto, searchQuery: SearchQuery<TModel>) => Promise<SearchResultDto<TModel | TItem>>;
7
8
  findOne: (conditionOrQuery: ICondition | SearchQuery<TModel>, eagerLoading?: boolean) => Promise<TModel | null>;
8
9
  findMany: (conditionOrQuery: ICondition | SearchQuery<TModel>, eagerLoading?: boolean) => Promise<TModel[]>;
9
- create: (model: TModel, transactionHandler?: (callback: any) => Promise<void>) => Promise<TModel>;
10
+ create: (model: TModel, transactionHandler?: TransactionHandler<TModel>) => Promise<TModel>;
10
11
  createQuery: (config?: ISearchQueryConfig<TModel>) => SearchQuery<TModel>;
11
12
  remove: (id: number, transactionHandler?: (callback: any) => Promise<void>) => Promise<void>;
12
- save: (model: TModel, transactionHandler?: (callback: any) => Promise<void>) => Promise<TModel>;
13
+ save: (model: TModel, transactionHandler?: TransactionHandler<TModel>) => Promise<TModel>;
13
14
  softRemove: (id: number, transactionHandler?: (callback: () => Promise<void>) => Promise<void>) => Promise<void>;
14
- update: (id: number, model: TModel, transactionHandler?: (callback: any) => Promise<void>) => Promise<TModel>;
15
+ update: (id: number, model: TModel, transactionHandler?: TransactionHandler<TModel>) => Promise<TModel>;
15
16
  }
@@ -1,3 +1,3 @@
1
- export interface ISaveManager {
2
- save: (model: any) => Promise<any>;
1
+ export interface ISaveManager<TModel> {
2
+ save: (model: any) => Promise<TModel>;
3
3
  }
@@ -22,7 +22,7 @@ TSaveDto = TModel> extends ReadService<TModel, TSearchDto> {
22
22
  * @param diffModel
23
23
  * @param context
24
24
  */
25
- saveInternal(prevModel: TModel | null, nextModel: TModel, diffModel: TModel, context?: ContextDto): Promise<void>;
25
+ saveInternal(prevModel: TModel | null, nextModel: TModel, diffModel: TModel, context?: ContextDto): Promise<TModel>;
26
26
  checkHasRelatedModels(id: string | number, service: CrudService<any>): Promise<void>;
27
27
  /**
28
28
  * Remove model
@@ -84,11 +84,11 @@ class CrudService extends ReadService_1.ReadService {
84
84
  context,
85
85
  });
86
86
  // Save
87
- await this.saveInternal(prevModel, nextModel, diffModel, context);
87
+ const savedModel = await this.saveInternal(prevModel, nextModel, diffModel, context);
88
88
  // Convert to schema, if need
89
89
  return schemaClass
90
- ? this.findById(nextModel[this.primaryKey], context, schemaClass)
91
- : nextModel;
90
+ ? this.findById(savedModel[this.primaryKey], context, schemaClass)
91
+ : savedModel;
92
92
  }
93
93
  /**
94
94
  * Internal save method for overwrite in project
@@ -99,14 +99,15 @@ class CrudService extends ReadService_1.ReadService {
99
99
  */
100
100
  async saveInternal(prevModel, nextModel, diffModel, context) {
101
101
  // you code outside transaction before save
102
- // await this.repository.save(diffModel, async (save) => {
102
+ // return this.repository.save(diffModel, async (save) => {
103
103
  // you code inside transaction before save
104
- // await save();
104
+ // const savedModel = save();
105
105
  // you code inside transaction after save
106
+ // return savedModel;
106
107
  // });
107
108
  // you code outside transaction after save
108
109
  // or save() call without transaction
109
- await this.repository.save(diffModel);
110
+ return this.repository.save(diffModel);
110
111
  }
111
112
  async checkHasRelatedModels(id, service) {
112
113
  const relations = (0, BaseField_1.getRelationsByFilter)(this.modelClass, (relation) => {
@@ -1 +1 @@
1
- {"version":3,"file":"CrudService.js","sourceRoot":"","sources":["../../../src/usecases/services/CrudService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CrudService.js","sourceRoot":"","sources":["../../../src/usecases/services/CrudService.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAE/C,sDAAiD;AAEjD,qDAA8C;AAE9C,gFAAwG;AACxG,0EAAqE;AACrE,8CAA4C;AAC5C,+CAA0C;AAG1C;;GAEG;AACH,MAAa,WAKX,SAAQ,yBAA+B;IASrC;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACR,GAAwB,EACxB,UAAsB,IAAI,EAC1B,cAA8B,IAAI;QAElC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IAUD;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACR,KAAsB,EACtB,GAAwB,EACxB,UAAsB,IAAI,EAC1B,cAA8B,IAAI;QAElC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;IAUD;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CACN,KAA6B,EAC7B,GAAwB,EACxB,UAAsB,IAAI,EAC1B,cAA8B,IAAI;QAElC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACnE;QAED,MAAM,EAAE,GAAW,KAAK,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpD,6BAA6B;QAC7B,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,IAAI,EAAE,EAAE;YACJ,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;iBAC/B,IAAI,CAAC,IAAA,4BAAgB,EAAC,GAAG,CAAC,WAAW,CAAC,CAAC;iBACvC,KAAK,CAAC,EAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,EAAC,CAAC;iBAC9B,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;aACnD;SACJ;QAED,0BAA0B;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,UAAU,EAAE,CAAC;QAEnC,qDAAqD;QACrD,IAAI,SAAS,EAAE;YACX,uBAAU,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;SAChD;QAED,8BAA8B;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAEvC,mEAAmE;QACnE,IAAI,EAAE,EAAE;YACJ,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;SACnC;QAED,6BAA6B;QAC7B,uBAAU,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAE7C,eAAe;QACf,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACrB,SAAS;YACT,SAAS;YACT,OAAO;SACV,CAAC,CAAC;QAEH,yBAAyB;QACzB,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YAC3B,SAAS;YACT,SAAS;YACT,OAAO;SACV,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAErF,6BAA6B;QAC7B,OAAO,WAAW;YACd,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC;YAClE,CAAC,CAAC,UAAU,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,SAAwB,EAAE,SAAiB,EAAE,SAAiB,EAAE,OAAoB;QACnG,2CAA2C;QAC3C,2DAA2D;QACvD,0CAA0C;QAC1C,6BAA6B;QAC7B,yCAAyC;QACzC,qBAAqB;QACzB,MAAM;QACN,0CAA0C;QAE1C,qCAAqC;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EAAmB,EAAE,OAAyB;QACtE,MAAM,SAAS,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,UAAU,EAClD,CAAC,QAAQ,EAAE,EAAE;YACT,IAAI,QAAQ,CAAC,IAAI,KAAK,mCAAgB,CAAC,QAAQ,EAAE;gBAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAA;aAChC;YACD,OAAO,mCAAgB,CAAC,SAAS,KAAK,QAAQ,CAAC,IAAI,CAAA;QACvD,CAAC,CAAC,CAAC;QACP,MAAM,WAAW,GAAG,IAAI,qBAAW,EAAE,CAAC;QACtC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC3B,WAAW,CAAC,KAAK,CAAC,EAAC,EAAE,EAAC,CAAC,CAAC;QACxB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjD,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;;YAC3B,IAAI,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,QAAQ,CAAC,0CAAE,MAAM,IAAG,CAAC,EAAE;gBAC/B,MAAM,IAAI,0BAAa,CAAC,yCAAyC,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAA;aACtF;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,KAAsB,EAAE,UAAsB,IAAI;QAC3D,MAAM,EAAE,GAAW,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,EAAU,EAAE,OAAoB;QACjD,6CAA6C;QAC7C,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC9C,4CAA4C;YAC5C,MAAM,MAAM,EAAE,CAAC;YACf,2CAA2C;QAC/C,CAAC,CAAC,CAAC;QACH,4CAA4C;QAE5C,uCAAuC;QACvC,oCAAoC;IACxC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,KAAsB,EAAE,UAAsB,IAAI;QAC/D,MAAM,EAAE,GAAW,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,EAAU,EAAE,OAAoB;QACrD,kDAAkD;QAClD,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,UAA+B,EAAE,EAAE;YAC3E,iDAAiD;YACjD,MAAM,UAAU,EAAE,CAAC;YACnB,gDAAgD;QACpD,CAAC,CAAC,CAAC;QACH,iDAAiD;QAEjD,2CAA2C;QAC3C,wCAAwC;IAC5C,CAAC;IAED;;;;;OAKG;IACO,UAAU,CAAC,GAAwB;QACzC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,6CAA6C,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC1F;QACD,OAAO,uBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;CACJ;AArPD,kCAqPC"}