@steroidsjs/nest 1.0.2 → 1.0.6

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 (33) hide show
  1. package/infrastructure/decorators/fields/CoordinateField.js +12 -7
  2. package/infrastructure/decorators/fields/CoordinateField.js.map +1 -1
  3. package/infrastructure/decorators/fields/DecimalField.js +12 -7
  4. package/infrastructure/decorators/fields/DecimalField.js.map +1 -1
  5. package/infrastructure/decorators/fields/EnumField.js +10 -5
  6. package/infrastructure/decorators/fields/EnumField.js.map +1 -1
  7. package/infrastructure/decorators/fields/FileField.js +1 -1
  8. package/infrastructure/decorators/fields/FileField.js.map +1 -1
  9. package/infrastructure/decorators/fields/IntegerField.js +1 -0
  10. package/infrastructure/decorators/fields/IntegerField.js.map +1 -1
  11. package/infrastructure/decorators/fields/RelationField.d.ts +5 -3
  12. package/infrastructure/decorators/fields/RelationField.js +24 -6
  13. package/infrastructure/decorators/fields/RelationField.js.map +1 -1
  14. package/infrastructure/decorators/fields/index.d.ts +2 -0
  15. package/infrastructure/decorators/fields/index.js +5 -1
  16. package/infrastructure/decorators/fields/index.js.map +1 -1
  17. package/infrastructure/filters/ValidationExceptionFilter.d.ts +1 -0
  18. package/infrastructure/filters/ValidationExceptionFilter.js +17 -12
  19. package/infrastructure/filters/ValidationExceptionFilter.js.map +1 -1
  20. package/infrastructure/pipes/CreateDtoPipe.d.ts +4 -0
  21. package/infrastructure/pipes/CreateDtoPipe.js +21 -0
  22. package/infrastructure/pipes/CreateDtoPipe.js.map +1 -0
  23. package/infrastructure/repositories/CrudRepository.d.ts +1 -1
  24. package/infrastructure/repositories/CrudRepository.js +6 -9
  25. package/infrastructure/repositories/CrudRepository.js.map +1 -1
  26. package/infrastructure/schemas/BaseSchema.d.ts +1 -1
  27. package/infrastructure/schemas/BaseSchema.js +2 -1
  28. package/infrastructure/schemas/BaseSchema.js.map +1 -1
  29. package/package.json +1 -1
  30. package/tsconfig.tsbuildinfo +1 -1
  31. package/usecases/services/CrudService.d.ts +1 -1
  32. package/usecases/services/CrudService.js +5 -6
  33. package/usecases/services/CrudService.js.map +1 -1
@@ -6,13 +6,18 @@ const typeorm_1 = require("typeorm");
6
6
  const class_validator_1 = require("class-validator");
7
7
  const BaseField_1 = require("./BaseField");
8
8
  function CoordinateField(options = {}) {
9
- return (0, common_1.applyDecorators)((0, BaseField_1.BaseField)(Object.assign(Object.assign({}, options), { decoratorName: 'CoordinateField', appType: 'decimal' })), (0, typeorm_1.Column)({
10
- type: 'decimal',
11
- default: options.defaultValue,
12
- nullable: options.nullable,
13
- precision: options.precision || 12,
14
- scale: options.scale || 9,
15
- }), (0, class_validator_1.IsNumber)());
9
+ return (0, common_1.applyDecorators)(...[
10
+ (0, BaseField_1.BaseField)(Object.assign(Object.assign({}, options), { decoratorName: 'CoordinateField', appType: 'decimal' })),
11
+ (0, typeorm_1.Column)({
12
+ type: 'decimal',
13
+ default: options.defaultValue,
14
+ nullable: options.nullable,
15
+ precision: options.precision || 12,
16
+ scale: options.scale || 9,
17
+ }),
18
+ options.nullable && (0, class_validator_1.ValidateIf)((object, value) => value !== null),
19
+ (0, class_validator_1.IsString)(),
20
+ ].filter(Boolean));
16
21
  }
17
22
  exports.CoordinateField = CoordinateField;
18
23
  //# sourceMappingURL=CoordinateField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CoordinateField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/CoordinateField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAyC;AACzC,2CAAyD;AAOzD,SAAgB,eAAe,CAAC,UAAmC,EAAE;IACjE,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,kCACF,OAAO,KACV,aAAa,EAAE,iBAAiB,EAChC,OAAO,EAAE,SAAS,IACpB,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;KAC5B,CAAC,EACF,IAAA,0BAAQ,GAAE,CACb,CAAC;AACN,CAAC;AAhBD,0CAgBC"}
1
+ {"version":3,"file":"CoordinateField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/CoordinateField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAqD;AACrD,2CAAyD;AAOzD,SAAgB,eAAe,CAAC,UAAmC,EAAE;IACjE,OAAO,IAAA,wBAAe,EAAC,GAAG;QACtB,IAAA,qBAAS,kCACF,OAAO,KACV,aAAa,EAAE,iBAAiB,EAChC,OAAO,EAAE,SAAS,IACpB;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;SAC5B,CAAC;QACF,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;QACjE,IAAA,0BAAQ,GAAE;KACT,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAlBD,0CAkBC"}
@@ -6,13 +6,18 @@ const typeorm_1 = require("typeorm");
6
6
  const class_validator_1 = require("class-validator");
7
7
  const BaseField_1 = require("./BaseField");
8
8
  function DecimalField(options = {}) {
9
- return (0, common_1.applyDecorators)((0, BaseField_1.BaseField)(Object.assign(Object.assign({}, options), { decoratorName: 'DecimalField', appType: 'decimal' })), (0, typeorm_1.Column)({
10
- type: 'decimal',
11
- default: options.defaultValue,
12
- nullable: options.nullable,
13
- precision: options.precision || 10,
14
- scale: options.scale || 2,
15
- }), (0, class_validator_1.IsNumber)());
9
+ return (0, common_1.applyDecorators)(...[
10
+ (0, BaseField_1.BaseField)(Object.assign(Object.assign({}, options), { decoratorName: 'DecimalField', appType: 'decimal' })),
11
+ (0, typeorm_1.Column)({
12
+ type: 'decimal',
13
+ default: options.defaultValue,
14
+ nullable: options.nullable,
15
+ precision: options.precision || 10,
16
+ scale: options.scale || 2,
17
+ }),
18
+ options.nullable && (0, class_validator_1.ValidateIf)((object, value) => value !== null),
19
+ (0, class_validator_1.IsString)(),
20
+ ].filter(Boolean));
16
21
  }
17
22
  exports.DecimalField = DecimalField;
18
23
  //# sourceMappingURL=DecimalField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DecimalField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/DecimalField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAyC;AACzC,2CAAyD;AAOzD,SAAgB,YAAY,CAAC,UAAgC,EAAE;IAC3D,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,kCACF,OAAO,KACV,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,SAAS,IACpB,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;KAC5B,CAAC,EACF,IAAA,0BAAQ,GAAE,CACb,CAAC;AACN,CAAC;AAhBD,oCAgBC"}
1
+ {"version":3,"file":"DecimalField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/DecimalField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAqD;AACrD,2CAAyD;AAOzD,SAAgB,YAAY,CAAC,UAAgC,EAAE;IAC3D,OAAO,IAAA,wBAAe,EAAC,GAAG;QACtB,IAAA,qBAAS,kCACF,OAAO,KACV,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,SAAS,IACpB;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;SAC5B,CAAC;QACF,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;QACjE,IAAA,0BAAQ,GAAE;KACT,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAlBD,oCAkBC"}
@@ -21,11 +21,16 @@ function EnumField(options = {}) {
21
21
  else if (typeof options.enum === 'function' && options.enum.prototype instanceof BaseEnum_1.default) {
22
22
  options.enum = options.enum.toEnum();
23
23
  }
24
- return (0, common_1.applyDecorators)((0, BaseField_1.BaseField)(Object.assign(Object.assign({}, options), { decoratorName: 'EnumField', appType: 'enum' })), (0, typeorm_1.Column)({
25
- type: 'varchar',
26
- default: options.defaultValue,
27
- nullable: options.nullable,
28
- }), (0, class_validator_1.IsEnum)(options.enum));
24
+ return (0, common_1.applyDecorators)(...[
25
+ (0, BaseField_1.BaseField)(Object.assign(Object.assign({}, options), { decoratorName: 'EnumField', appType: 'enum' })),
26
+ (0, typeorm_1.Column)({
27
+ type: 'varchar',
28
+ default: options.defaultValue,
29
+ nullable: options.nullable,
30
+ }),
31
+ options.nullable && (0, class_validator_1.ValidateIf)((object, value) => value !== null),
32
+ (0, class_validator_1.IsEnum)(options.enum),
33
+ ].filter(Boolean));
29
34
  }
30
35
  exports.EnumField = EnumField;
31
36
  //# sourceMappingURL=EnumField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnumField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/EnumField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAuC;AACvC,2CAAyD;AACzD,4DAAqD;AAMrD,SAAgB,SAAS,CAAC,UAA8B,EAAE;IACtD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC7B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC9C,IAAI,KAAK,CAAC,SAAS,YAAY,kBAAQ,EAAE;gBACrC,GAAG,mCACI,GAAG,GACH,KAAK,CAAC,MAAM,EAAE,CACpB,CAAC;aACL;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAClC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;aACtB;YACD,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC;KACV;SAAM,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,YAAY,kBAAQ,EAAE;QACzF,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;KACxC;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,kCACF,OAAO,KACV,aAAa,EAAE,WAAW,EAC1B,OAAO,EAAE,MAAM,IACjB,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,EACF,IAAA,wBAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CACvB,CAAC;AACN,CAAC;AA9BD,8BA8BC"}
1
+ {"version":3,"file":"EnumField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/EnumField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAmD;AACnD,2CAAyD;AACzD,4DAAqD;AAMrD,SAAgB,SAAS,CAAC,UAA8B,EAAE;IACtD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC7B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC9C,IAAI,KAAK,CAAC,SAAS,YAAY,kBAAQ,EAAE;gBACrC,GAAG,mCACI,GAAG,GACH,KAAK,CAAC,MAAM,EAAE,CACpB,CAAC;aACL;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAClC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;aACtB;YACD,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC;KACV;SAAM,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,YAAY,kBAAQ,EAAE;QACzF,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;KACxC;IAED,OAAO,IAAA,wBAAe,EAAC,GAAG;QAClB,IAAA,qBAAS,kCACF,OAAO,KACV,aAAa,EAAE,WAAW,EAC1B,OAAO,EAAE,MAAM,IACjB;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;QACjE,IAAA,wBAAM,EAAC,OAAO,CAAC,IAAI,CAAC;KACvB,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAhCD,8BAgCC"}
@@ -10,7 +10,7 @@ function FileField(options = {}) {
10
10
  type: 'integer',
11
11
  default: options.defaultValue,
12
12
  nullable: options.nullable,
13
- }), (0, class_validator_1.IsInt)());
13
+ }), (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsInt)());
14
14
  }
15
15
  exports.FileField = FileField;
16
16
  //# sourceMappingURL=FileField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/FileField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAsC;AACtC,2CAAyD;AAEzD,SAAgB,SAAS,CAAC,UAA6B,EAAE;IACrD,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,kCACF,OAAO,KACV,aAAa,EAAE,WAAW,EAC1B,OAAO,EAAE,MAAM,IACjB,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,8BAcC"}
1
+ {"version":3,"file":"FileField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/FileField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAkD;AAClD,2CAAyD;AAEzD,SAAgB,SAAS,CAAC,UAA6B,EAAE;IACrD,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,kCACF,OAAO,KACV,aAAa,EAAE,WAAW,EAC1B,OAAO,EAAE,MAAM,IACjB,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,EACF,IAAA,4BAAU,GAAE,EACZ,IAAA,uBAAK,GAAE,CACV,CAAC;AACN,CAAC;AAfD,8BAeC"}
@@ -13,6 +13,7 @@ function IntegerField(options = {}) {
13
13
  default: options.defaultValue,
14
14
  nullable: options.nullable,
15
15
  }),
16
+ options.nullable && (0, class_validator_1.ValidateIf)((object, value) => value !== null),
16
17
  (0, class_validator_1.IsInt)(),
17
18
  typeof options.min === 'number' && (0, class_validator_1.Min)(options.min),
18
19
  typeof options.max === 'number' && (0, class_validator_1.Max)(options.max),
@@ -1 +1 @@
1
- {"version":3,"file":"IntegerField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/IntegerField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAgD;AAChD,2CAAyD;AAEzD,SAAgB,YAAY,CAAC,UAA6B,EAAE;IACxD,OAAO,IAAA,wBAAe,EAAC,GAAG;QACtB,IAAA,qBAAS,kCACF,OAAO,KACV,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,SAAS,IACpB;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,IAAA,uBAAK,GAAE;QACP,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAA,qBAAG,EAAC,OAAO,CAAC,GAAG,CAAC;QACnD,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAA,qBAAG,EAAC,OAAO,CAAC,GAAG,CAAC;KACtD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACvB,CAAC;AAhBD,oCAgBC"}
1
+ {"version":3,"file":"IntegerField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/IntegerField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAA4D;AAC5D,2CAAyD;AAEzD,SAAgB,YAAY,CAAC,UAA6B,EAAE;IACxD,OAAO,IAAA,wBAAe,EAAC,GAAG;QACtB,IAAA,qBAAS,kCACF,OAAO,KACV,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,SAAS,IACpB;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;QACjE,IAAA,uBAAK,GAAE;QACP,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAA,qBAAG,EAAC,OAAO,CAAC,GAAG,CAAC;QACnD,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAA,qBAAG,EAAC,OAAO,CAAC,GAAG,CAAC;KACtD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACvB,CAAC;AAjBD,oCAiBC"}
@@ -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"}
@@ -1,5 +1,6 @@
1
1
  import { ExceptionFilter, ArgumentsHost } from '@nestjs/common';
2
2
  import { ValidationException } from '../../usecases/exceptions/ValidationException';
3
3
  export declare class ValidationExceptionFilter implements ExceptionFilter {
4
+ parseErrors(errors: any): any;
4
5
  catch(exception: ValidationException, host: ArgumentsHost): void;
5
6
  }
@@ -11,22 +11,27 @@ const common_1 = require("@nestjs/common");
11
11
  const class_validator_1 = require("class-validator");
12
12
  const ValidationException_1 = require("../../usecases/exceptions/ValidationException");
13
13
  let ValidationExceptionFilter = class ValidationExceptionFilter {
14
- catch(exception, host) {
15
- const ctx = host.switchToHttp();
16
- const response = ctx.getResponse();
17
- let errors;
18
- if (Array.isArray(exception.errors) && exception.errors[0] instanceof class_validator_1.ValidationError) {
19
- errors = exception.errors.reduce((result, item) => {
20
- result[item.property] = []
21
- .concat(Object.values(item.constraints));
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
+ }
22
24
  return result;
23
25
  }, {});
24
26
  }
25
- else {
26
- errors = exception.errors;
27
- }
27
+ return errors;
28
+ }
29
+ catch(exception, host) {
30
+ const ctx = host.switchToHttp();
31
+ const response = ctx.getResponse();
32
+ const errors = this.parseErrors(exception.errors);
28
33
  response
29
- .status(common_1.HttpStatus.BAD_REQUEST)
34
+ .status(common_1.HttpStatus.OK)
30
35
  .json({
31
36
  statusCode: common_1.HttpStatus.BAD_REQUEST,
32
37
  errors,
@@ -1 +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,KAAK,CAAC,SAA8B,EAAE,IAAmB;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAY,CAAC;QAC7C,IAAI,MAAM,CAAC;QACX,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,iCAAe,EAAE;YACnF,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAC5B,CAAC,MAAW,EAAE,IAAI,EAAE,EAAE;gBAClB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;qBACrB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC7C,OAAO,MAAM,CAAC;YAClB,CAAC,EACD,EAAE,CACL,CAAC;SACL;aAAM;YACH,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;SAC7B;QACD,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;AAxBY,yBAAyB;IADrC,IAAA,cAAK,EAAC,yCAAmB,CAAC;GACd,yBAAyB,CAwBrC;AAxBY,8DAAyB"}
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,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAElD,QAAQ;aAEH,MAAM,CAAC,mBAAU,CAAC,EAAE,CAAC;aACrB,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"}
@@ -0,0 +1,4 @@
1
+ import { ArgumentMetadata, PipeTransform } from '@nestjs/common';
2
+ export declare class CreateDtoPipe implements PipeTransform<any> {
3
+ transform(value: any, metadata: ArgumentMetadata): Promise<any>;
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
  }
@@ -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,sEAAiE;AAGjE,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"}
@@ -1,6 +1,6 @@
1
1
  import { SearchSchema } from './SearchSchema';
2
2
  export default class BaseSchema<Model> {
3
3
  constructor();
4
- static createFromModel(model: any): BaseSchema<unknown>;
4
+ static createFromModel(model: any): BaseSchema<unknown> & Record<string, any>;
5
5
  static createFromSearch<Model>(searchResult: SearchSchema<Model>): SearchSchema<BaseSchema<Model>>;
6
6
  }
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const class_transformer_1 = require("class-transformer");
3
4
  class BaseSchema {
4
5
  constructor() {
5
6
  }
6
7
  static createFromModel(model) {
7
8
  const schema = new this();
8
- return schema;
9
+ return Object.assign(schema, (0, class_transformer_1.instanceToPlain)(model));
9
10
  }
10
11
  static createFromSearch(searchResult) {
11
12
  const result = { total: null, items: [] };
@@ -1 +1 @@
1
- {"version":3,"file":"BaseSchema.js","sourceRoot":"","sources":["../../../src/infrastructure/schemas/BaseSchema.ts"],"names":[],"mappings":";;AAEA,MAAqB,UAAU;IAC3B;IAEA,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,KAAU;QAC7B,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAQ,YAAiC;QAC5D,MAAM,MAAM,GAAoC,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC,CAAC;QACzE,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;QAClC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAjBD,6BAiBC"}
1
+ {"version":3,"file":"BaseSchema.js","sourceRoot":"","sources":["../../../src/infrastructure/schemas/BaseSchema.ts"],"names":[],"mappings":";;AACA,yDAAkD;AAElD,MAAqB,UAAU;IAC3B;IAEA,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,KAAU;QAC7B,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAA,mCAAe,EAAC,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAQ,YAAiC;QAC5D,MAAM,MAAM,GAAoC,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC,CAAC;QACzE,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;QAClC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAjBD,6BAiBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/nest",
3
- "version": "1.0.2",
3
+ "version": "1.0.6",
4
4
  "scripts": {
5
5
  "build": "tsc && copyfiles ./{package.json,LICENSE,README.md} dist/"
6
6
  },