@steroidsjs/nest 1.0.0 → 1.0.4

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 (43) hide show
  1. package/README.md +8 -1
  2. package/infrastructure/decorators/fields/RelationField.d.ts +5 -3
  3. package/infrastructure/decorators/fields/RelationField.js +24 -6
  4. package/infrastructure/decorators/fields/RelationField.js.map +1 -1
  5. package/infrastructure/decorators/fields/index.d.ts +2 -0
  6. package/infrastructure/decorators/fields/index.js +5 -1
  7. package/infrastructure/decorators/fields/index.js.map +1 -1
  8. package/infrastructure/filters/ValidationExceptionFilter.d.ts +6 -0
  9. package/infrastructure/filters/ValidationExceptionFilter.js +46 -0
  10. package/infrastructure/filters/ValidationExceptionFilter.js.map +1 -0
  11. package/infrastructure/pipes/{ValidationPipe.d.ts → CreateDtoPipe.d.ts} +1 -1
  12. package/infrastructure/pipes/CreateDtoPipe.js +21 -0
  13. package/infrastructure/pipes/CreateDtoPipe.js.map +1 -0
  14. package/infrastructure/repositories/CrudRepository.d.ts +1 -1
  15. package/infrastructure/repositories/CrudRepository.js +7 -10
  16. package/infrastructure/repositories/CrudRepository.js.map +1 -1
  17. package/package.json +4 -3
  18. package/tsconfig.tsbuildinfo +1 -1
  19. package/usecases/exceptions/ValidationException.d.ts +6 -0
  20. package/usecases/exceptions/ValidationException.js +10 -0
  21. package/usecases/exceptions/ValidationException.js.map +1 -0
  22. package/{infrastructure → usecases}/helpers/DataMapperHelper.d.ts +0 -0
  23. package/{infrastructure → usecases}/helpers/DataMapperHelper.js +0 -0
  24. package/usecases/helpers/DataMapperHelper.js.map +1 -0
  25. package/{infrastructure → usecases}/helpers/SearchHelper.d.ts +0 -0
  26. package/{infrastructure → usecases}/helpers/SearchHelper.js +0 -0
  27. package/usecases/helpers/SearchHelper.js.map +1 -0
  28. package/usecases/helpers/ValidationHelper.d.ts +2 -0
  29. package/usecases/helpers/ValidationHelper.js +13 -0
  30. package/usecases/helpers/ValidationHelper.js.map +1 -0
  31. package/usecases/interfaces/IFormError.d.ts +3 -0
  32. package/usecases/interfaces/IFormError.js +3 -0
  33. package/usecases/interfaces/IFormError.js.map +1 -0
  34. package/usecases/services/CrudService.d.ts +1 -1
  35. package/usecases/services/CrudService.js +13 -8
  36. package/usecases/services/CrudService.js.map +1 -1
  37. package/infrastructure/exception/ValidationException.d.ts +0 -5
  38. package/infrastructure/exception/ValidationException.js +0 -12
  39. package/infrastructure/exception/ValidationException.js.map +0 -1
  40. package/infrastructure/helpers/DataMapperHelper.js.map +0 -1
  41. package/infrastructure/helpers/SearchHelper.js.map +0 -1
  42. package/infrastructure/pipes/ValidationPipe.js +0 -37
  43. package/infrastructure/pipes/ValidationPipe.js.map +0 -1
package/README.md CHANGED
@@ -1 +1,8 @@
1
- # nest
1
+ # nest
2
+
3
+
4
+ ## Use package from source in project
5
+
6
+ 1. Copy `tsconfig-debug.json.sample` to `tsconfig-debug.json`
7
+ 2. Replace `outDir` path to node_modules nest path in project
8
+ 3. Run from this directory `yarn tsc -p tsconfig-debug.json`
@@ -1,6 +1,8 @@
1
1
  import { IBaseFieldOptions } from './BaseField';
2
2
  export interface IRelationFieldOptions extends IBaseFieldOptions {
3
- relationType?: 'hasOne' | 'hasMany';
4
- relationModel?: any;
3
+ type: 'OneToOne' | 'ManyToMany' | 'ManyToOne' | 'OneToMany';
4
+ inverseSide?: string | ((object: any) => any);
5
+ isOwningSide?: boolean;
6
+ modelClass: any;
5
7
  }
6
- export declare function RelationField(options?: IRelationFieldOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
8
+ export declare function RelationField(options: IRelationFieldOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
@@ -4,13 +4,31 @@ exports.RelationField = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  const typeorm_1 = require("typeorm");
6
6
  const class_validator_1 = require("class-validator");
7
+ const class_transformer_1 = require("class-transformer");
7
8
  const BaseField_1 = require("./BaseField");
8
- function RelationField(options = {}) {
9
- return (0, common_1.applyDecorators)((0, BaseField_1.BaseField)(Object.assign(Object.assign({}, options), { decoratorName: 'RelationField', appType: 'integer' })), (0, typeorm_1.Column)({
10
- type: 'integer',
11
- default: options.defaultValue,
12
- nullable: options.nullable,
13
- }), (0, class_validator_1.IsInt)());
9
+ function RelationField(options) {
10
+ const getRelationDecorator = (relation) => {
11
+ switch (relation) {
12
+ case 'OneToOne':
13
+ return typeorm_1.OneToOne;
14
+ case 'ManyToMany':
15
+ return typeorm_1.ManyToMany;
16
+ case 'OneToMany':
17
+ return typeorm_1.OneToMany;
18
+ case 'ManyToOne':
19
+ return typeorm_1.ManyToOne;
20
+ }
21
+ };
22
+ const getOwningDecorator = (relation, owningSide) => {
23
+ if (relation === 'ManyToMany' && owningSide) {
24
+ return typeorm_1.JoinTable;
25
+ }
26
+ if (relation === 'OneToOne' && owningSide) {
27
+ return typeorm_1.JoinColumn;
28
+ }
29
+ return null;
30
+ };
31
+ return (0, common_1.applyDecorators)((0, BaseField_1.BaseField)(Object.assign(Object.assign({}, options), { decoratorName: 'RelationField', appType: 'integer' })), getRelationDecorator(options.type)(options.modelClass().name.replace(/Model$/, 'Table'), options.inverseSide, { cascade: true, onUpdate: 'CASCADE', onDelete: 'RESTRICT' }), getOwningDecorator(options.type, options.isOwningSide)(), (0, class_validator_1.ValidateNested)({ each: true }), (0, class_transformer_1.Type)(options.modelClass));
14
32
  }
15
33
  exports.RelationField = RelationField;
16
34
  //# sourceMappingURL=RelationField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RelationField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/RelationField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAsC;AACtC,2CAAyD;AAOzD,SAAgB,aAAa,CAAC,UAAiC,EAAE;IAC7D,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,kCACF,OAAO,KACV,aAAa,EAAE,eAAe,EAC9B,OAAO,EAAE,SAAS,IACpB,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,EACF,IAAA,uBAAK,GAAE,CACV,CAAC;AACN,CAAC;AAdD,sCAcC"}
1
+ {"version":3,"file":"RelationField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/RelationField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA0F;AAC1F,qDAA+C;AAC/C,yDAAuC;AACvC,2CAAyD;AAUzD,SAAgB,aAAa,CAAC,OAA8B;IAExD,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,EAAE;QACtC,QAAQ,QAAQ,EAAE;YACd,KAAK,UAAU;gBACX,OAAO,kBAAQ,CAAC;YACpB,KAAK,YAAY;gBACb,OAAO,oBAAU,CAAC;YACtB,KAAK,WAAW;gBACZ,OAAO,mBAAS,CAAC;YACrB,KAAK,WAAW;gBACZ,OAAO,mBAAS,CAAC;SACxB;IACL,CAAC,CAAA;IAED,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE;QAChD,IAAI,QAAQ,KAAK,YAAY,IAAI,UAAU,EAAE;YACzC,OAAO,mBAAS,CAAC;SACpB;QACD,IAAI,QAAQ,KAAK,UAAU,IAAI,UAAU,EAAE;YACvC,OAAO,oBAAU,CAAC;SACrB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC,CAAA;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,kCACF,OAAO,KACV,aAAa,EAAE,eAAe,EAC9B,OAAO,EAAE,SAAS,IACpB,EACF,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAE1B,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,EACpD,OAAO,CAAC,WAAW,EACnB,EAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAC,CAC7D,EACL,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,EACxD,IAAA,gCAAc,EAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,EAC5B,IAAA,wBAAI,EAAC,OAAO,CAAC,UAAU,CAAC,CAC3B,CAAC;AACN,CAAC;AAzCD,sCAyCC"}
@@ -1,5 +1,6 @@
1
1
  export { BooleanField } from './BooleanField';
2
2
  export { CreateTimeField } from './CreateTimeField';
3
+ export { CoordinateField } from './CoordinateField';
3
4
  export { DateField } from './DateField';
4
5
  export { DateTimeField } from './DateTimeField';
5
6
  export { DecimalField } from './DecimalField';
@@ -16,3 +17,4 @@ export { TextField } from './TextField';
16
17
  export { TimeField } from './TimeField';
17
18
  export { UidField } from './UidField';
18
19
  export { UpdateTimeField } from './UpdateTimeField';
20
+ export { RelationField } from './RelationField';
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpdateTimeField = exports.UidField = exports.TimeField = exports.TextField = exports.StringField = exports.PrimaryKeyField = exports.PhoneField = exports.PasswordField = exports.IntegerField = exports.HtmlField = exports.FileField = exports.EnumField = exports.EmailField = exports.DecimalField = exports.DateTimeField = exports.DateField = exports.CreateTimeField = exports.BooleanField = void 0;
3
+ exports.RelationField = exports.UpdateTimeField = exports.UidField = exports.TimeField = exports.TextField = exports.StringField = exports.PrimaryKeyField = exports.PhoneField = exports.PasswordField = exports.IntegerField = exports.HtmlField = exports.FileField = exports.EnumField = exports.EmailField = exports.DecimalField = exports.DateTimeField = exports.DateField = exports.CoordinateField = exports.CreateTimeField = exports.BooleanField = void 0;
4
4
  var BooleanField_1 = require("./BooleanField");
5
5
  Object.defineProperty(exports, "BooleanField", { enumerable: true, get: function () { return BooleanField_1.BooleanField; } });
6
6
  var CreateTimeField_1 = require("./CreateTimeField");
7
7
  Object.defineProperty(exports, "CreateTimeField", { enumerable: true, get: function () { return CreateTimeField_1.CreateTimeField; } });
8
+ var CoordinateField_1 = require("./CoordinateField");
9
+ Object.defineProperty(exports, "CoordinateField", { enumerable: true, get: function () { return CoordinateField_1.CoordinateField; } });
8
10
  var DateField_1 = require("./DateField");
9
11
  Object.defineProperty(exports, "DateField", { enumerable: true, get: function () { return DateField_1.DateField; } });
10
12
  var DateTimeField_1 = require("./DateTimeField");
@@ -37,4 +39,6 @@ var UidField_1 = require("./UidField");
37
39
  Object.defineProperty(exports, "UidField", { enumerable: true, get: function () { return UidField_1.UidField; } });
38
40
  var UpdateTimeField_1 = require("./UpdateTimeField");
39
41
  Object.defineProperty(exports, "UpdateTimeField", { enumerable: true, get: function () { return UpdateTimeField_1.UpdateTimeField; } });
42
+ var RelationField_1 = require("./RelationField");
43
+ Object.defineProperty(exports, "RelationField", { enumerable: true, get: function () { return RelationField_1.RelationField; } });
40
44
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/index.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA;AACnB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/index.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA;AACnB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA"}
@@ -0,0 +1,6 @@
1
+ import { ExceptionFilter, ArgumentsHost } from '@nestjs/common';
2
+ import { ValidationException } from '../../usecases/exceptions/ValidationException';
3
+ export declare class ValidationExceptionFilter implements ExceptionFilter {
4
+ parseErrors(errors: any): any;
5
+ catch(exception: ValidationException, host: ArgumentsHost): void;
6
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ValidationExceptionFilter = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const class_validator_1 = require("class-validator");
12
+ const ValidationException_1 = require("../../usecases/exceptions/ValidationException");
13
+ let ValidationExceptionFilter = class ValidationExceptionFilter {
14
+ parseErrors(errors) {
15
+ if (Array.isArray(errors) && errors[0] instanceof class_validator_1.ValidationError) {
16
+ return errors.reduce((result, item) => {
17
+ var _a;
18
+ if (item.constraints) {
19
+ result[item.property] = [].concat(Object.values(item.constraints));
20
+ }
21
+ if (((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) > 0) {
22
+ result[item.property] = this.parseErrors(item.children);
23
+ }
24
+ return result;
25
+ }, {});
26
+ }
27
+ return errors;
28
+ }
29
+ catch(exception, host) {
30
+ const ctx = host.switchToHttp();
31
+ const response = ctx.getResponse();
32
+ console.log(exception.errors);
33
+ const errors = this.parseErrors(exception.errors);
34
+ response
35
+ .status(common_1.HttpStatus.BAD_REQUEST)
36
+ .json({
37
+ statusCode: common_1.HttpStatus.BAD_REQUEST,
38
+ errors,
39
+ });
40
+ }
41
+ };
42
+ ValidationExceptionFilter = __decorate([
43
+ (0, common_1.Catch)(ValidationException_1.ValidationException)
44
+ ], ValidationExceptionFilter);
45
+ exports.ValidationExceptionFilter = ValidationExceptionFilter;
46
+ //# sourceMappingURL=ValidationExceptionFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationExceptionFilter.js","sourceRoot":"","sources":["../../../src/infrastructure/filters/ValidationExceptionFilter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAiF;AAEjF,qDAAgD;AAChD,uFAAkF;AAGlF,IAAa,yBAAyB,GAAtC,MAAa,yBAAyB;IAClC,WAAW,CAAC,MAAM;QACd,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,iCAAe,EAAE;YAC/D,OAAO,MAAM,CAAC,MAAM,CAChB,CAAC,MAAW,EAAE,IAAI,EAAE,EAAE;;gBAClB,IAAI,IAAI,CAAC,WAAW,EAAE;oBAClB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;iBACtE;gBACD,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,IAAG,CAAC,EAAE;oBAC3B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC3D;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC,EACD,EAAE,CACL,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,SAA8B,EAAE,IAAmB;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAY,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAElD,QAAQ;aACH,MAAM,CAAC,mBAAU,CAAC,WAAW,CAAC;aAC9B,IAAI,CAAC;YACF,UAAU,EAAE,mBAAU,CAAC,WAAW;YAClC,MAAM;SACT,CAAC,CAAC;IACX,CAAC;CACJ,CAAA;AAhCY,yBAAyB;IADrC,IAAA,cAAK,EAAC,yCAAmB,CAAC;GACd,yBAAyB,CAgCrC;AAhCY,8DAAyB"}
@@ -1,4 +1,4 @@
1
1
  import { ArgumentMetadata, PipeTransform } from '@nestjs/common';
2
- export declare class ValidationPipe implements PipeTransform<any> {
2
+ export declare class CreateDtoPipe implements PipeTransform<any> {
3
3
  transform(value: any, metadata: ArgumentMetadata): Promise<any>;
4
4
  }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.CreateDtoPipe = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const class_transformer_1 = require("class-transformer");
12
+ let CreateDtoPipe = class CreateDtoPipe {
13
+ async transform(value, metadata) {
14
+ return (0, class_transformer_1.plainToInstance)(metadata.metatype, value);
15
+ }
16
+ };
17
+ CreateDtoPipe = __decorate([
18
+ (0, common_1.Injectable)()
19
+ ], CreateDtoPipe);
20
+ exports.CreateDtoPipe = CreateDtoPipe;
21
+ //# sourceMappingURL=CreateDtoPipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateDtoPipe.js","sourceRoot":"","sources":["../../../src/infrastructure/pipes/CreateDtoPipe.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA2E;AAC3E,yDAAkD;AAGlD,IAAa,aAAa,GAA1B,MAAa,aAAa;IACtB,KAAK,CAAC,SAAS,CAAC,KAAU,EAAE,QAA0B;QAClD,OAAO,IAAA,mCAAe,EAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;CACJ,CAAA;AAJY,aAAa;IADzB,IAAA,mBAAU,GAAE;GACA,aAAa,CAIzB;AAJY,sCAAa"}
@@ -13,6 +13,6 @@ export declare class CrudRepository<TModel> implements ICrudRepository<TModel> {
13
13
  create(model: TModel): Promise<TModel>;
14
14
  update(id: number, model: TModel): Promise<TModel>;
15
15
  remove(id: number): Promise<void>;
16
- protected modelToEntity(model: any): Record<string, unknown>;
16
+ protected modelToEntity(model: any): any;
17
17
  protected entityToModel(obj: any): TModel;
18
18
  }
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CrudRepository = void 0;
4
4
  const class_transformer_1 = require("class-transformer");
5
- const SearchHelper_1 = require("../helpers/SearchHelper");
5
+ const SearchHelper_1 = require("../../usecases/helpers/SearchHelper");
6
6
  const ConditionHelper_1 = require("../helpers/ConditionHelper");
7
7
  class CrudRepository {
8
8
  constructor() {
@@ -18,9 +18,9 @@ class CrudRepository {
18
18
  return result;
19
19
  }
20
20
  async findOne(condition) {
21
- const entity = await this.dbRepository.createQueryBuilder()
22
- .where(ConditionHelper_1.ConditionHelper.toTypeOrm(condition))
23
- .getOne();
21
+ const entity = await this.dbRepository.findOne({
22
+ where: ConditionHelper_1.ConditionHelper.toTypeOrm(condition),
23
+ });
24
24
  return this.entityToModel(entity);
25
25
  }
26
26
  async create(model) {
@@ -29,17 +29,14 @@ class CrudRepository {
29
29
  }
30
30
  async update(id, model) {
31
31
  const prevModel = await this.findOne({ [this.primaryKey]: id });
32
- const toSave = Object.assign(Object.assign({}, prevModel), model);
33
- const entity = await this.dbRepository.update(id, toSave);
34
- return this.entityToModel(entity);
32
+ const savedEntity = await this.dbRepository.save(this.modelToEntity(Object.assign(Object.assign({}, prevModel), model)));
33
+ return this.entityToModel(savedEntity);
35
34
  }
36
35
  async remove(id) {
37
36
  await this.dbRepository.delete(id);
38
37
  }
39
38
  modelToEntity(model) {
40
- const EntityClass = this.dbRepository.target;
41
- const entity = new EntityClass();
42
- Object.assign(entity, (0, class_transformer_1.instanceToPlain)(model));
39
+ const entity = this.dbRepository.create(model);
43
40
  return entity;
44
41
  }
45
42
  entityToModel(obj) {
@@ -1 +1 @@
1
- {"version":3,"file":"CrudRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/CrudRepository.ts"],"names":[],"mappings":";;;AACA,yDAAkD;AAClD,0DAAqD;AAGrD,gEAAuE;AAMvE,MAAa,cAAc;IAA3B;QAIW,eAAU,GAAW,IAAI,CAAC;IAwGrC,CAAC;IA1FU,IAAI,CAAC,YAAgC,EAAE,UAAe;QACzD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAMD,KAAK,CAAC,MAAM,CAAC,GAAmB;QAC5B,MAAM,MAAM,GAAG,MAAM,2BAAY,CAAC,MAAM,CAAS,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,OAAO,MAAM,CAAC;IAClB,CAAC;IAMD,KAAK,CAAC,OAAO,CAAC,SAAqB;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE;aACtD,KAAK,CAAC,iCAAe,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;aAC3C,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAMD,KAAK,CAAC,MAAM,CAAC,KAAa;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAOD,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,KAAa;QAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,EAAC,CAAC,CAAC;QAI9D,MAAM,MAAM,mCACL,SAAS,GACT,KAAK,CACX,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CACzC,EAAE,EACF,MAAM,CACT,CAAC;QAEF,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAMD,KAAK,CAAC,MAAM,CAAC,EAAU;QACnB,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAOS,aAAa,CAAC,KAAK;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,MAAa,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAA,mCAAe,EAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC;IAClB,CAAC;IAOS,aAAa,CAAC,GAAQ;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAiB,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAA,mCAAe,EAAC,GAAG,CAAC,CAAC,CAAC;QAE3C,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA5GD,wCA4GC"}
1
+ {"version":3,"file":"CrudRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/CrudRepository.ts"],"names":[],"mappings":";;;AACA,yDAAkD;AAClD,sEAAiE;AAGjE,gEAAuE;AAMvE,MAAa,cAAc;IAA3B;QAIW,eAAU,GAAW,IAAI,CAAC;IA6FrC,CAAC;IA/EU,IAAI,CAAC,YAAgC,EAAE,UAAe;QACzD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAMD,KAAK,CAAC,MAAM,CAAC,GAAmB;QAC5B,MAAM,MAAM,GAAG,MAAM,2BAAY,CAAC,MAAM,CAAS,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,OAAO,MAAM,CAAC;IAClB,CAAC;IAMD,KAAK,CAAC,OAAO,CAAC,SAAqB;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAC3C,KAAK,EAAE,iCAAe,CAAC,SAAS,CAAC,SAAS,CAAC;SAC9C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAMD,KAAK,CAAC,MAAM,CAAC,KAAa;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAOD,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,KAAa;QAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,EAAC,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,iCAAK,SAAS,GAAK,KAAK,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAMD,KAAK,CAAC,MAAM,CAAC,EAAU;QACnB,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAOS,aAAa,CAAC,KAAK;QAIzB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC;IAClB,CAAC;IAOS,aAAa,CAAC,GAAQ;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAiB,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAA,mCAAe,EAAC,GAAG,CAAC,CAAC,CAAC;QAE3C,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAjGD,wCAiGC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/nest",
3
- "version": "1.0.0",
3
+ "version": "1.0.4",
4
4
  "scripts": {
5
5
  "build": "tsc && copyfiles ./{package.json,LICENSE,README.md} dist/"
6
6
  },
@@ -26,15 +26,16 @@
26
26
  "@sqltools/formatter": "^1.2.3",
27
27
  "class-transformer": "^0.5.1",
28
28
  "class-validator": "^0.13.2",
29
+ "express": "^4.17.2",
29
30
  "lodash": "^4.17.21",
30
31
  "nestjs-command": "^3.1.1",
31
32
  "typeorm": "^0.2.41",
32
33
  "uuid": "^8.3.2"
33
34
  },
34
35
  "devDependencies": {
36
+ "@types/node": "^16.11.7",
35
37
  "copyfiles": "^2.4.1",
36
38
  "tsconfig-paths": "^3.10.1",
37
- "typescript": "^4.3.5",
38
- "@types/node": "^16.11.7"
39
+ "typescript": "^4.3.5"
39
40
  }
40
41
  }