@steroidsjs/nest 1.1.8 → 1.1.12

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 (27) hide show
  1. package/infrastructure/decorators/ApiOkSearchResponse.d.ts +5 -1
  2. package/infrastructure/decorators/ApiOkSearchResponse.js +2 -1
  3. package/infrastructure/decorators/ApiOkSearchResponse.js.map +1 -1
  4. package/infrastructure/decorators/TableFromModel.js +2 -3
  5. package/infrastructure/decorators/TableFromModel.js.map +1 -1
  6. package/infrastructure/decorators/fields/BaseField.d.ts +4 -1
  7. package/infrastructure/decorators/fields/BaseField.js +17 -1
  8. package/infrastructure/decorators/fields/BaseField.js.map +1 -1
  9. package/infrastructure/decorators/fields/ExtendField.js.map +1 -1
  10. package/infrastructure/repositories/CrudRepository.d.ts +4 -5
  11. package/infrastructure/repositories/CrudRepository.js +17 -43
  12. package/infrastructure/repositories/CrudRepository.js.map +1 -1
  13. package/package.json +3 -2
  14. package/tsconfig.tsbuildinfo +1 -1
  15. package/usecases/base/SearchQuery.d.ts +1 -1
  16. package/usecases/base/SearchQuery.js +16 -31
  17. package/usecases/base/SearchQuery.js.map +1 -1
  18. package/usecases/helpers/DataMapperHelper.d.ts +1 -2
  19. package/usecases/helpers/DataMapperHelper.js +45 -16
  20. package/usecases/helpers/DataMapperHelper.js.map +1 -1
  21. package/usecases/interfaces/ICrudRepository.d.ts +1 -0
  22. package/usecases/services/CrudService.d.ts +2 -4
  23. package/usecases/services/CrudService.js +20 -26
  24. package/usecases/services/CrudService.js.map +1 -1
  25. package/infrastructure/decorators/schema/ExtractRelationId.d.ts +0 -2
  26. package/infrastructure/decorators/schema/ExtractRelationId.js +0 -11
  27. package/infrastructure/decorators/schema/ExtractRelationId.js.map +0 -1
@@ -1 +1,5 @@
1
- export declare function ApiOkSearchResponse(itemType: any): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
1
+ interface ApiOkSearchResponseOptions {
2
+ type: Function;
3
+ }
4
+ export declare function ApiOkSearchResponse(options: ApiOkSearchResponseOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
5
+ export {};
@@ -4,7 +4,8 @@ exports.ApiOkSearchResponse = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  const swagger_1 = require("@nestjs/swagger");
6
6
  const SearchSchema_1 = require("../schemas/SearchSchema");
7
- function ApiOkSearchResponse(itemType) {
7
+ function ApiOkSearchResponse(options) {
8
+ const itemType = options.type;
8
9
  return (0, common_1.applyDecorators)((0, swagger_1.ApiExtraModels)(SearchSchema_1.SearchSchema, itemType), (0, swagger_1.ApiOkResponse)({
9
10
  schema: {
10
11
  allOf: [
@@ -1 +1 @@
1
- {"version":3,"file":"ApiOkSearchResponse.js","sourceRoot":"","sources":["../../../src/infrastructure/decorators/ApiOkSearchResponse.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,6CAA6E;AAC7E,0DAAqD;AAErD,SAAgB,mBAAmB,CAAC,QAAQ;IACxC,OAAO,IAAA,wBAAe,EAClB,IAAA,wBAAc,EAAC,2BAAY,EAAE,QAAQ,CAAC,EACtC,IAAA,uBAAa,EAAC;QACV,MAAM,EAAE;YACJ,KAAK,EAAE;gBACH,EAAE,IAAI,EAAE,IAAA,uBAAa,EAAC,2BAAY,CAAC,EAAE;gBACrC;oBACI,UAAU,EAAE;wBACR,KAAK,EAAE;4BACH,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,IAAA,uBAAa,EAAC,QAAQ,CAAC,EAAE;yBAC3C;qBACJ;iBACJ;aACJ;SACJ;KACJ,CAAC,CACL,CAAC;AACN,CAAC;AAnBD,kDAmBC"}
1
+ {"version":3,"file":"ApiOkSearchResponse.js","sourceRoot":"","sources":["../../../src/infrastructure/decorators/ApiOkSearchResponse.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,6CAA6E;AAC7E,0DAAqD;AAMrD,SAAgB,mBAAmB,CAAC,OAAmC;IACnE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9B,OAAO,IAAA,wBAAe,EAClB,IAAA,wBAAc,EAAC,2BAAY,EAAE,QAAQ,CAAC,EACtC,IAAA,uBAAa,EAAC;QACV,MAAM,EAAE;YACJ,KAAK,EAAE;gBACH,EAAE,IAAI,EAAE,IAAA,uBAAa,EAAC,2BAAY,CAAC,EAAE;gBACrC;oBACI,UAAU,EAAE;wBACR,KAAK,EAAE;4BACH,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,IAAA,uBAAa,EAAC,QAAQ,CAAC,EAAE;yBAC3C;qBACJ;iBACJ;aACJ;SACJ;KACJ,CAAC,CACL,CAAC;AACN,CAAC;AApBD,kDAoBC"}
@@ -2,13 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TableFromModel = void 0;
4
4
  const typeorm_1 = require("typeorm");
5
- const DataMapperHelper_1 = require("../../usecases/helpers/DataMapperHelper");
6
5
  const ExtendField_1 = require("./fields/ExtendField");
7
6
  const common_1 = require("@nestjs/common");
7
+ const BaseField_1 = require("./fields/BaseField");
8
8
  function TableFromModelInternal(ModelClass) {
9
9
  return (target) => {
10
- const fields = DataMapperHelper_1.DataMapperHelper.getKeys(ModelClass);
11
- fields.forEach(field => {
10
+ (0, BaseField_1.getMetaFields)(ModelClass).forEach(field => {
12
11
  (0, ExtendField_1.ExtendField)(ModelClass)(target.prototype, field);
13
12
  });
14
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TableFromModel.js","sourceRoot":"","sources":["../../../src/infrastructure/decorators/TableFromModel.ts"],"names":[],"mappings":";;;AAAA,qCAA+B;AAC/B,8EAAyE;AACzE,sDAAiD;AACjD,2CAA+C;AAQ/C,SAAS,sBAAsB,CAAC,UAAU;IACtC,OAAO,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,MAAM,GAAG,mCAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnB,IAAA,yBAAW,EAAC,UAAU,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAED,SAAgB,cAAc,CAAC,UAAU,EAAE,SAAS;IAChD,OAAO,IAAA,wBAAe,EAClB,IAAA,gBAAM,EAAC,SAAS,CAAC,EACjB,sBAAsB,CAAC,UAAU,CAAC,CACrC,CAAC;AACN,CAAC;AALD,wCAKC"}
1
+ {"version":3,"file":"TableFromModel.js","sourceRoot":"","sources":["../../../src/infrastructure/decorators/TableFromModel.ts"],"names":[],"mappings":";;;AAAA,qCAA+B;AAE/B,sDAAiD;AACjD,2CAA+C;AAC/C,kDAAiD;AAQjD,SAAS,sBAAsB,CAAC,UAAU;IACtC,OAAO,CAAC,MAAM,EAAE,EAAE;QACd,IAAA,yBAAa,EAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACtC,IAAA,yBAAW,EAAC,UAAU,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAED,SAAgB,cAAc,CAAC,UAAU,EAAE,SAAS;IAChD,OAAO,IAAA,wBAAe,EAClB,IAAA,gBAAM,EAAC,SAAS,CAAC,EACjB,sBAAsB,CAAC,UAAU,CAAC,CACrC,CAAC;AACN,CAAC;AALD,wCAKC"}
@@ -3,7 +3,7 @@ import { IAllFieldOptions } from './index';
3
3
  export declare const STEROIDS_META_FIELD = "steroids_meta_field";
4
4
  export declare const STEROIDS_META_FIELD_DECORATOR = "steroids_meta_field_decorator";
5
5
  export declare const STEROIDS_META_KEYS = "steroids_meta_keys";
6
- export declare type AppColumnType = 'boolean' | 'createTime' | 'date' | 'dateTime' | 'decimal' | 'email' | 'enum' | 'file' | 'html' | 'integer' | 'password' | 'phone' | 'primaryKey' | 'relation' | 'string' | 'text' | 'time' | 'updateTime' | string;
6
+ export declare type AppColumnType = 'boolean' | 'createTime' | 'date' | 'dateTime' | 'decimal' | 'email' | 'enum' | 'file' | 'html' | 'integer' | 'password' | 'phone' | 'primaryKey' | 'relation' | 'relationId' | 'string' | 'text' | 'time' | 'updateTime' | string;
7
7
  export declare type JsType = 'boolean' | 'string' | 'number' | string;
8
8
  export interface IBaseFieldOptions {
9
9
  appType?: AppColumnType;
@@ -28,5 +28,8 @@ export interface IInternalFieldOptions {
28
28
  isArray?: boolean;
29
29
  }
30
30
  export declare const getFieldOptions: (targetClass: any, fieldName: string) => IAllFieldOptions;
31
+ export declare const isMetaClass: (MetaClass: any) => boolean;
32
+ export declare const getMetaFields: (MetaClass: any) => string[];
33
+ export declare const getMetaRelations: (MetaClass: any) => string[];
31
34
  export declare const getFieldDecorator: (targetClass: any, fieldName: string) => (...args: any) => PropertyDecorator;
32
35
  export declare function BaseField(options?: IBaseFieldOptions, internalOptions?: IInternalFieldOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseField = exports.getFieldDecorator = exports.getFieldOptions = exports.STEROIDS_META_KEYS = exports.STEROIDS_META_FIELD_DECORATOR = exports.STEROIDS_META_FIELD = void 0;
3
+ exports.BaseField = exports.getFieldDecorator = exports.getMetaRelations = exports.getMetaFields = exports.isMetaClass = exports.getFieldOptions = exports.STEROIDS_META_KEYS = exports.STEROIDS_META_FIELD_DECORATOR = exports.STEROIDS_META_FIELD = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  const swagger_1 = require("@nestjs/swagger");
6
6
  const class_validator_1 = require("class-validator");
@@ -11,6 +11,22 @@ const getFieldOptions = (targetClass, fieldName) => {
11
11
  return targetClass && Reflect.getMetadata(exports.STEROIDS_META_FIELD, targetClass.prototype, fieldName);
12
12
  };
13
13
  exports.getFieldOptions = getFieldOptions;
14
+ const isMetaClass = (MetaClass) => {
15
+ return Reflect.hasMetadata(exports.STEROIDS_META_KEYS, MetaClass.prototype);
16
+ };
17
+ exports.isMetaClass = isMetaClass;
18
+ const getMetaFields = (MetaClass) => {
19
+ return Reflect.getMetadata(exports.STEROIDS_META_KEYS, MetaClass.prototype) || [];
20
+ };
21
+ exports.getMetaFields = getMetaFields;
22
+ const getMetaRelations = (MetaClass) => {
23
+ return (0, exports.getMetaFields)(MetaClass)
24
+ .filter(fieldName => {
25
+ const options = (0, exports.getFieldOptions)(MetaClass, fieldName);
26
+ return ['relationId', 'relation'].includes(options.appType);
27
+ });
28
+ };
29
+ exports.getMetaRelations = getMetaRelations;
14
30
  const getFieldDecorator = (targetClass, fieldName) => {
15
31
  const decoratorName = Reflect.getMetadata(exports.STEROIDS_META_FIELD_DECORATOR, targetClass.prototype, fieldName);
16
32
  const decorator = require('./index')[decoratorName];
@@ -1 +1 @@
1
- {"version":3,"file":"BaseField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/BaseField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,6CAA4C;AAE5C,qDAA2C;AAG9B,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,6BAA6B,GAAG,+BAA+B,CAAC;AAChE,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AA+BhD,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,SAAiB,EAAoB,EAAE;IAChF,OAAO,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,2BAAmB,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACrG,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAEK,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,SAAiB,EAAuC,EAAE;IACrG,MAAM,aAAa,GAAW,OAAO,CAAC,WAAW,CAAC,qCAA6B,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACnH,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;IACpD,IAAI,CAAC,SAAS,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,aAAa,eAAe,SAAS,EAAE,CAAC,CAAC;KACzF;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B;AAEF,MAAM,mBAAmB,GAAG,CAAC,OAA0B,EAAE,eAAsC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;IACzH,OAAO,CAAC,cAAc,CAAC,2BAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3E,OAAO,CAAC,cAAc,CAAC,qCAA6B,EAAE,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAG3G,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,0BAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IACzE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9B,OAAO,CAAC,cAAc,CAAC,0BAAkB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,SAAgB,SAAS,CAAC,UAA6B,IAAI,EAAE,kBAAyC,EAAE;IACpG,OAAO,IAAA,wBAAe,EAClB,GAAG;QACC,mBAAmB,+BACf,KAAK,EAAE,IAAI,EACX,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,IAAI,IACR,OAAO,KACV,OAAO,EAAE,eAAe,CAAC,OAAO,IAAI,IAAI,EACxC,OAAO,EAAE,eAAe,CAAC,OAAO,IAAI,IAAI,KACzC,eAAe,CAAC;QACnB,IAAA,qBAAW,EAAC;YACR,IAAI,EAAE,OAAO,CAAC,MAAM;YACpB,WAAW,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;YACvC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,SAAS;YACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,KAAK;YACpC,OAAO,EAAE,OAAO,CAAC,OAAO;SAC3B,CAAC;QACF,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,GAAE;KACnC,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AArBD,8BAqBC"}
1
+ {"version":3,"file":"BaseField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/BaseField.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExtendField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/ExtendField.ts"],"names":[],"mappings":";;;AAAA,2CAAkF;AAOlF,SAAgB,WAAW,CAAC,UAAU,EAAE,UAAwC,EAAE;IAC9E,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;QAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC7B,OAAO,GAAG,EAAC,eAAe,EAAE,OAAO,EAAC,CAAC;SACxC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,IAAI,YAAY,CAAC;QAgB/D,IAAI,CAAC,cAAc,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,YAAY,GAAG,cAAc,GAAG,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;SAChG;QAGD,MAAM,aAAa,GAAG,IAAA,2BAAe,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,IAAA,6BAAiB,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAChE,SAAS,iCAAK,aAAa,GAAK,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC,CAAC;AACN,CAAC;AA/BD,kCA+BC"}
1
+ {"version":3,"file":"ExtendField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/ExtendField.ts"],"names":[],"mappings":";;;AAAA,2CAAkF;AAOlF,SAAgB,WAAW,CAAC,UAAU,EAAE,UAAwC,EAAE;IAC9E,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;QAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC7B,OAAO,GAAG,EAAC,eAAe,EAAE,OAAO,EAAC,CAAC;SACxC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,IAAI,YAAY,CAAC;QAC/D,IAAI,CAAC,cAAc,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,YAAY,GAAG,cAAc,GAAG,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;SAChG;QAGD,MAAM,aAAa,GAAG,IAAA,2BAAe,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,IAAA,6BAAiB,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAChE,SAAS,iCAAK,aAAa,GAAK,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC,CAAC;AACN,CAAC;AAhBD,kCAgBC"}
@@ -1,4 +1,4 @@
1
- import { Repository } from 'typeorm';
1
+ import { EntityManager, Repository } from 'typeorm';
2
2
  import { ICrudRepository } from '../../usecases/interfaces/ICrudRepository';
3
3
  import { SearchInputDto } from '../../usecases/dtos/SearchInputDto';
4
4
  import { SearchResultDto } from '../../usecases/dtos/SearchResultDto';
@@ -16,11 +16,10 @@ export declare class CrudRepository<TModel> implements ICrudRepository<TModel> {
16
16
  protected createQueryBuilder(conditionOrQuery: ICondition | SearchQuery): SelectQueryBuilder<any>;
17
17
  create(model: TModel, transactionHandler?: (callback: any) => Promise<void>): Promise<TModel>;
18
18
  update(id: number, model: TModel, transactionHandler?: (callback: any) => Promise<void>): Promise<TModel>;
19
+ save(model: TModel, transactionHandler?: (callback: any) => Promise<void>): Promise<TModel>;
20
+ saveInternal(manager: EntityManager, nextModel: TModel): Promise<void>;
19
21
  remove(id: number, transactionHandler?: (callback: any) => Promise<void>): Promise<void>;
20
- protected beforeSave(prevModel: TModel | null, nextModel: TModel): Promise<void>;
21
- protected afterSave(prevModel: TModel | null, nextModel: TModel): Promise<void>;
22
- protected beforeDelete(id: number): Promise<void>;
23
- protected afterDelete(id: number): Promise<void>;
22
+ removeInternal(manager: EntityManager, id: number): Promise<void>;
24
23
  protected modelToEntity(model: any): any;
25
24
  protected entityToModel(obj: any): TModel;
26
25
  }
@@ -38,70 +38,44 @@ class CrudRepository {
38
38
  return dbQuery;
39
39
  }
40
40
  async create(model, transactionHandler) {
41
- let entity;
42
- let nextModel;
43
- if (transactionHandler) {
44
- await this.dbRepository.manager.transaction(async (manager) => {
45
- await transactionHandler(async () => {
46
- await this.beforeSave(null, model);
47
- entity = await manager.save(this.modelToEntity(model));
48
- nextModel = this.entityToModel(entity);
49
- await this.afterSave(null, nextModel);
50
- return nextModel;
51
- });
52
- });
53
- }
54
- else {
55
- entity = await this.dbRepository.manager.save(this.modelToEntity(model));
56
- nextModel = this.entityToModel(entity);
57
- }
58
- return nextModel;
41
+ model[this.primaryKey] = undefined;
42
+ return this.save(model, transactionHandler);
59
43
  }
60
44
  async update(id, model, transactionHandler) {
61
- const prevModel = await this.findOne({ [this.primaryKey]: id });
62
- if (!prevModel) {
63
- throw new Error('Not found model by id: ' + id);
64
- }
65
- let entity;
66
- let nextModel;
45
+ model[this.primaryKey] = id;
46
+ return this.save(model, transactionHandler);
47
+ }
48
+ async save(model, transactionHandler) {
67
49
  if (transactionHandler) {
68
50
  await this.dbRepository.manager.transaction(async (manager) => {
69
51
  await transactionHandler(async () => {
70
- await this.beforeSave(prevModel, model);
71
- entity = await manager.save(this.modelToEntity(Object.assign(Object.assign({}, prevModel), model)));
72
- nextModel = this.entityToModel(entity);
73
- await this.afterSave(prevModel, nextModel);
74
- return nextModel;
52
+ await this.saveInternal(manager, model);
75
53
  });
76
54
  });
77
55
  }
78
56
  else {
79
- entity = await this.dbRepository.manager.save(this.modelToEntity(Object.assign(Object.assign({}, prevModel), model)));
80
- nextModel = this.entityToModel(entity);
57
+ await this.saveInternal(this.dbRepository.manager, model);
81
58
  }
82
- return nextModel;
59
+ return model;
60
+ }
61
+ async saveInternal(manager, nextModel) {
62
+ const entity = await manager.save(this.modelToEntity(nextModel));
63
+ DataMapperHelper_1.DataMapperHelper.applyChangesToModel(nextModel, entity);
83
64
  }
84
65
  async remove(id, transactionHandler) {
85
66
  if (transactionHandler) {
86
67
  await this.dbRepository.manager.transaction(async (manager) => {
87
68
  await transactionHandler(async () => {
88
- await this.beforeDelete(id);
89
- await manager.remove(id);
90
- await this.afterDelete(id);
69
+ await this.removeInternal(manager, id);
91
70
  });
92
71
  });
93
72
  }
94
73
  else {
95
- await this.dbRepository.manager.remove(id);
74
+ await this.removeInternal(this.dbRepository.manager, id);
96
75
  }
97
76
  }
98
- async beforeSave(prevModel, nextModel) {
99
- }
100
- async afterSave(prevModel, nextModel) {
101
- }
102
- async beforeDelete(id) {
103
- }
104
- async afterDelete(id) {
77
+ async removeInternal(manager, id) {
78
+ await manager.remove(id);
105
79
  }
106
80
  modelToEntity(model) {
107
81
  return DataMapperHelper_1.DataMapperHelper.modelToEntity(this.dbRepository.manager.connection, model);
@@ -1 +1 @@
1
- {"version":3,"file":"CrudRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/CrudRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CrudRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/CrudRepository.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@steroidsjs/nest",
3
- "version": "1.1.8",
3
+ "version": "1.1.12",
4
4
  "scripts": {
5
- "build": "tsc && copyfiles ./{package.json,LICENSE,README.md} dist/"
5
+ "build": "tsc && copyfiles ./{package.json,LICENSE,README.md} dist/",
6
+ "watch": "tsc -p tsconfig-debug.json"
6
7
  },
7
8
  "description": "",
8
9
  "main": "index.js",