@steroidsjs/nest 2.2.0 → 3.0.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.
Files changed (37) hide show
  1. package/infrastructure/decorators/fields/BaseField.js +1 -2
  2. package/infrastructure/decorators/fields/BaseField.js.map +1 -1
  3. package/infrastructure/decorators/fields/DecimalField.d.ts +4 -0
  4. package/infrastructure/decorators/fields/DecimalField.js +32 -1
  5. package/infrastructure/decorators/fields/DecimalField.js.map +1 -1
  6. package/infrastructure/decorators/fields/DecimalNumberField.js +8 -0
  7. package/infrastructure/decorators/fields/DecimalNumberField.js.map +1 -1
  8. package/infrastructure/helpers/ModuleHelper.js.map +1 -1
  9. package/infrastructure/tests/app/tables/ArticleTable.d.ts +1 -1
  10. package/infrastructure/tests/app/tables/ArticleTable.js +1 -1
  11. package/infrastructure/tests/app/tables/ArticleTable.js.map +1 -1
  12. package/infrastructure/tests/app/tables/CommentTable.d.ts +1 -1
  13. package/infrastructure/tests/app/tables/CommentTable.js +1 -1
  14. package/infrastructure/tests/app/tables/CommentTable.js.map +1 -1
  15. package/infrastructure/tests/app/tables/FileTable.d.ts +1 -1
  16. package/infrastructure/tests/app/tables/FileTable.js +1 -1
  17. package/infrastructure/tests/app/tables/FileTable.js.map +1 -1
  18. package/infrastructure/tests/app/tables/ImageTable.d.ts +1 -1
  19. package/infrastructure/tests/app/tables/ImageTable.js +1 -1
  20. package/infrastructure/tests/app/tables/ImageTable.js.map +1 -1
  21. package/infrastructure/tests/app/tables/TagTable.d.ts +1 -1
  22. package/infrastructure/tests/app/tables/TagTable.js +1 -1
  23. package/infrastructure/tests/app/tables/TagTable.js.map +1 -1
  24. package/infrastructure/tests/app/tables/UserInfoTable.d.ts +1 -1
  25. package/infrastructure/tests/app/tables/UserInfoTable.js +1 -1
  26. package/infrastructure/tests/app/tables/UserInfoTable.js.map +1 -1
  27. package/infrastructure/tests/app/tables/UserTable.d.ts +1 -1
  28. package/infrastructure/tests/app/tables/UserTable.js +1 -1
  29. package/infrastructure/tests/app/tables/UserTable.js.map +1 -1
  30. package/package.json +8 -1
  31. package/tsconfig.tsbuildinfo +1 -1
  32. package/usecases/services/CrudService.d.ts +1 -1
  33. package/usecases/services/CrudService.js +15 -8
  34. package/usecases/services/CrudService.js.map +1 -1
  35. package/usecases/services/ReadService.d.ts +3 -2
  36. package/usecases/services/ReadService.js +3 -0
  37. package/usecases/services/ReadService.js.map +1 -1
@@ -9,7 +9,7 @@ export declare class CrudService<TModel, TSearchDto = ISearchInputDto, TSaveDto
9
9
  update<TSchema>(id: number | string, dto: Partial<TModel>, context?: ContextDto | null, schemaClass?: IType<TSchema>): Promise<TSchema>;
10
10
  save<TSchema>(id: number | string, dto: Partial<TModel>, context?: ContextDto | null): Promise<TModel>;
11
11
  save<TSchema>(id: number | string, dto: Partial<TModel>, context?: ContextDto | null, schemaClass?: IType<TSchema>): Promise<TSchema>;
12
- saveInternal(prevModel: TModel | null, nextModel: TModel, context?: ContextDto): Promise<void>;
12
+ saveInternal(prevModel: TModel | null, nextModel: TModel, diffModel: TModel, context?: ContextDto): Promise<void>;
13
13
  checkHasRelatedModels(id: string | number, service: CrudService<any>): Promise<void>;
14
14
  remove(rawId: number | string, context?: ContextDto): Promise<void>;
15
15
  removeInternal(id: number, context?: ContextDto): Promise<void>;
@@ -16,12 +16,16 @@ class CrudService extends ReadService_1.ReadService {
16
16
  return this.save(rawId, dto, context, schemaClass);
17
17
  }
18
18
  async save(rawId, dto, context = null, schemaClass = null) {
19
+ if (this.isModel(dto)) {
20
+ throw new Error('The model itself shouldn\'t be used as a DTO');
21
+ }
19
22
  const id = rawId ? (0, lodash_1.toInteger)(rawId) : null;
20
23
  let prevModel = null;
21
24
  if (id) {
22
- prevModel = await this.findOne((new SearchQuery_1.default())
25
+ prevModel = await this.createQuery()
26
+ .with((0, BaseField_1.getMetaRelations)(dto.constructor))
23
27
  .where({ [this.primaryKey]: id })
24
- .with((0, BaseField_1.getMetaRelations)(dto.constructor)));
28
+ .one();
25
29
  if (!prevModel) {
26
30
  throw new Error('Not found model by id: ' + id);
27
31
  }
@@ -31,10 +35,11 @@ class CrudService extends ReadService_1.ReadService {
31
35
  if (prevModel) {
32
36
  DataMapper_1.DataMapper.applyValues(nextModel, prevModel);
33
37
  }
34
- DataMapper_1.DataMapper.applyValues(nextModel, this.dtoToModel(dto));
38
+ const diffModel = this.dtoToModel(dto);
35
39
  if (id) {
36
- nextModel[this.primaryKey] = id;
40
+ diffModel[this.primaryKey] = id;
37
41
  }
42
+ DataMapper_1.DataMapper.applyValues(nextModel, diffModel);
38
43
  await this.validate(dto, {
39
44
  prevModel,
40
45
  nextModel,
@@ -45,11 +50,13 @@ class CrudService extends ReadService_1.ReadService {
45
50
  nextModel,
46
51
  context,
47
52
  });
48
- await this.saveInternal(prevModel, nextModel, context);
49
- return schemaClass ? this.findById(nextModel[this.primaryKey], context, schemaClass) : nextModel;
53
+ await this.saveInternal(prevModel, nextModel, diffModel, context);
54
+ return schemaClass
55
+ ? this.findById(nextModel[this.primaryKey], context, schemaClass)
56
+ : nextModel;
50
57
  }
51
- async saveInternal(prevModel, nextModel, context) {
52
- await this.repository.save(nextModel);
58
+ async saveInternal(prevModel, nextModel, diffModel, context) {
59
+ await this.repository.save(diffModel);
53
60
  }
54
61
  async checkHasRelatedModels(id, service) {
55
62
  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":"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"}
@@ -8,9 +8,9 @@ import { IType } from '../interfaces/IType';
8
8
  export declare class ReadService<TModel, TSearchDto = ISearchInputDto> {
9
9
  protected primaryKey: string;
10
10
  protected repository: ICrudRepository<TModel>;
11
- protected modelClass: any;
11
+ protected modelClass: IType<TModel>;
12
12
  validators: IValidator[];
13
- init(repository: ICrudRepository<TModel>, ModelClass: any): void;
13
+ init(repository: ICrudRepository<TModel>, ModelClass: IType<TModel>): void;
14
14
  search(dto: TSearchDto, context?: ContextDto | null): Promise<SearchResultDto<TModel>>;
15
15
  search<TSchema>(dto: TSearchDto, context?: ContextDto | null, schemaClass?: IType<TSchema>): Promise<SearchResultDto<TSchema>>;
16
16
  findById(id: number | string, context?: ContextDto | null): Promise<TModel>;
@@ -20,4 +20,5 @@ export declare class ReadService<TModel, TSearchDto = ISearchInputDto> {
20
20
  createQuery(config?: ISearchQueryConfig<TModel>): SearchQuery<TModel>;
21
21
  protected modelToSchema<TSchema>(model: TModel, schemaClass: IType<TSchema>): TSchema;
22
22
  protected validate(dto: any, params?: IValidatorParams): Promise<void>;
23
+ protected isModel(obj: unknown): obj is TModel;
23
24
  }
@@ -44,6 +44,9 @@ class ReadService {
44
44
  async validate(dto, params) {
45
45
  await ValidationHelper_1.ValidationHelper.validate(dto, params, this.validators);
46
46
  }
47
+ isModel(obj) {
48
+ return obj instanceof this.modelClass;
49
+ }
47
50
  }
48
51
  exports.ReadService = ReadService;
49
52
  //# sourceMappingURL=ReadService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReadService.js","sourceRoot":"","sources":["../../../src/usecases/services/ReadService.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAE/C,sDAAiD;AAGjD,kEAA6D;AAC7D,qDAAoE;AAQpE,MAAa,WAAW;IAAxB;QAIc,eAAU,GAAW,IAAI,CAAC;IAqHxC,CAAC;IAlGG,IAAI,CAAC,UAAmC,EAAE,UAAU;QAChD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAeD,KAAK,CAAC,MAAM,CACR,GAAe,EACf,UAAsB,IAAI,EAC1B,cAA8B,IAAI;QAElC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACrB,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CACvC,GAAG,EACH,WAAW,CAAC,CAAC,CAAC,qBAAW,CAAC,gBAAgB,CAAS,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,qBAAW,EAAE,CACtF,CAAC;QACF,IAAI,WAAW,EAAE;YACb,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAU,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;SACvG;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAeD,KAAK,CAAC,QAAQ,CACV,EAAmB,EACnB,UAAsB,IAAI,EAC1B,cAA8B,IAAI;QAElC,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,qBAAW,CAAC,gBAAgB,CAAS,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,qBAAW,EAAU,CAAC;QAChH,WAAW,CAAC,QAAQ,CAAC,EAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAA,kBAAU,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9C,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAU,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACjF,CAAC;IAMD,KAAK,CAAC,OAAO,CAAC,WAAgC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAMD,KAAK,CAAC,QAAQ,CAAC,WAAgC;QAC3C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;IAED,WAAW,CAAC,MAAmC;QAC3C,OAAO,IAAI,qBAAW,iBAClB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EACnC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAC9B,CAAC,MAAM,IAAI,EAAE,CAAC,EACnB,CAAC;IACP,CAAC;IAQS,aAAa,CAAU,KAAa,EAAE,WAA2B;QACvE,OAAO,uBAAU,CAAC,MAAM,CAAC,WAAW,EAAE,KAAY,CAAC,CAAC;IACxD,CAAC;IAES,KAAK,CAAC,QAAQ,CAAC,GAAQ,EAAE,MAAyB;QACxD,MAAM,mCAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAClE,CAAC;CACJ;AAzHD,kCAyHC"}
1
+ {"version":3,"file":"ReadService.js","sourceRoot":"","sources":["../../../src/usecases/services/ReadService.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAE/C,sDAAiD;AAGjD,kEAA6D;AAC7D,qDAAoE;AAQpE,MAAa,WAAW;IAAxB;QAIc,eAAU,GAAW,IAAI,CAAC;IAyHxC,CAAC;IAtGG,IAAI,CAAC,UAAmC,EAAE,UAAyB;QAC/D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAeD,KAAK,CAAC,MAAM,CACR,GAAe,EACf,UAAsB,IAAI,EAC1B,cAA8B,IAAI;QAElC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACrB,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CACvC,GAAG,EACH,WAAW,CAAC,CAAC,CAAC,qBAAW,CAAC,gBAAgB,CAAS,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,qBAAW,EAAE,CACtF,CAAC;QACF,IAAI,WAAW,EAAE;YACb,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAU,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;SACvG;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAeD,KAAK,CAAC,QAAQ,CACV,EAAmB,EACnB,UAAsB,IAAI,EAC1B,cAA8B,IAAI;QAElC,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,qBAAW,CAAC,gBAAgB,CAAS,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,qBAAW,EAAU,CAAC;QAChH,WAAW,CAAC,QAAQ,CAAC,EAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAA,kBAAU,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9C,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAU,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACjF,CAAC;IAMD,KAAK,CAAC,OAAO,CAAC,WAAgC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAMD,KAAK,CAAC,QAAQ,CAAC,WAAgC;QAC3C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;IAED,WAAW,CAAC,MAAmC;QAC3C,OAAO,IAAI,qBAAW,iBAClB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EACnC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAC9B,CAAC,MAAM,IAAI,EAAE,CAAC,EACnB,CAAC;IACP,CAAC;IAQS,aAAa,CAAU,KAAa,EAAE,WAA2B;QACvE,OAAO,uBAAU,CAAC,MAAM,CAAC,WAAW,EAAE,KAAY,CAAC,CAAC;IACxD,CAAC;IAES,KAAK,CAAC,QAAQ,CAAC,GAAQ,EAAE,MAAyB;QACxD,MAAM,mCAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAClE,CAAC;IAES,OAAO,CAAC,GAAY;QAC1B,OAAO,GAAG,YAAY,IAAI,CAAC,UAAU,CAAC;IAC1C,CAAC;CACJ;AA7HD,kCA6HC"}