@steroidsjs/nest 1.2.12 → 1.2.15

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 (24) hide show
  1. package/package.json +1 -1
  2. package/src/infrastructure/decorators/fields/DateField.js +20 -15
  3. package/src/infrastructure/decorators/fields/DateField.js.map +1 -1
  4. package/src/infrastructure/decorators/fields/DecimalField.d.ts +1 -0
  5. package/src/infrastructure/decorators/fields/DecimalField.js +1 -1
  6. package/src/infrastructure/decorators/fields/DecimalField.js.map +1 -1
  7. package/src/infrastructure/decorators/fields/EnumField.d.ts +1 -0
  8. package/src/infrastructure/decorators/fields/EnumField.js +3 -1
  9. package/src/infrastructure/decorators/fields/EnumField.js.map +1 -1
  10. package/src/infrastructure/decorators/fields/FileField.d.ts +2 -0
  11. package/src/infrastructure/decorators/fields/FileField.js +25 -10
  12. package/src/infrastructure/decorators/fields/FileField.js.map +1 -1
  13. package/src/infrastructure/decorators/fields/ImageField.d.ts +6 -0
  14. package/src/infrastructure/decorators/fields/ImageField.js +10 -0
  15. package/src/infrastructure/decorators/fields/ImageField.js.map +1 -0
  16. package/src/infrastructure/decorators/fields/IntegerField.d.ts +1 -0
  17. package/src/infrastructure/decorators/fields/IntegerField.js +1 -1
  18. package/src/infrastructure/decorators/fields/IntegerField.js.map +1 -1
  19. package/src/infrastructure/decorators/fields/PhoneField.js +19 -13
  20. package/src/infrastructure/decorators/fields/PhoneField.js.map +1 -1
  21. package/src/infrastructure/decorators/fields/index.d.ts +1 -0
  22. package/src/infrastructure/decorators/fields/index.js +3 -1
  23. package/src/infrastructure/decorators/fields/index.js.map +1 -1
  24. package/tsconfig.tsbuildinfo +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/nest",
3
- "version": "1.2.12",
3
+ "version": "1.2.15",
4
4
  "scripts": {
5
5
  "build": "tsc && copyfiles ./{package.json,LICENSE,README.md} dist/",
6
6
  "watch": "tsc -p tsconfig-debug.json",
@@ -17,21 +17,26 @@ const normalizeDate = value => {
17
17
  };
18
18
  exports.normalizeDate = normalizeDate;
19
19
  function DateField(options = {}) {
20
- return (0, common_1.applyDecorators)((0, BaseField_1.BaseField)(options, {
21
- decoratorName: 'DateField',
22
- appType: 'date',
23
- jsType: 'string',
24
- }), (0, typeorm_1.Column)({
25
- type: 'date',
26
- default: options.defaultValue,
27
- nullable: options.nullable,
28
- transformer: {
29
- from: exports.normalizeDate,
30
- to: exports.normalizeDate,
31
- },
32
- }), (0, class_validator_1.IsISO8601)({
33
- message: 'Некорректный формат даты',
34
- }));
20
+ return (0, common_1.applyDecorators)(...[
21
+ (0, BaseField_1.BaseField)(options, {
22
+ decoratorName: 'DateField',
23
+ appType: 'date',
24
+ jsType: 'string',
25
+ }),
26
+ (0, typeorm_1.Column)({
27
+ type: 'date',
28
+ default: options.defaultValue,
29
+ nullable: options.nullable,
30
+ transformer: {
31
+ from: exports.normalizeDate,
32
+ to: exports.normalizeDate,
33
+ },
34
+ }),
35
+ options.nullable && (0, class_validator_1.ValidateIf)((object, value) => value),
36
+ (0, class_validator_1.IsISO8601)({
37
+ message: 'Некорректный формат даты',
38
+ }),
39
+ ].filter(Boolean));
35
40
  }
36
41
  exports.DateField = DateField;
37
42
  //# sourceMappingURL=DateField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/DateField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAA0C;AAC1C,uCAAiD;AACjD,2CAAyD;AAElD,MAAM,aAAa,GAAG,KAAK,CAAC,EAAE;IACjC,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,IAAI,CAAC;KACf;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,KAAK,GAAG,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC;KAC3B;IAED,OAAO,IAAA,wBAAa,EAAC,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5D,CAAC,CAAC;AATW,QAAA,aAAa,iBASxB;AAEF,SAAgB,SAAS,CAAC,UAA6B,EAAE;IACrD,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,WAAW;QAC1B,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE;YACT,IAAI,EAAE,qBAAa;YACnB,EAAE,EAAE,qBAAa;SACpB;KACJ,CAAC,EACF,IAAA,2BAAS,EAAC;QACN,OAAO,EAAE,0BAA0B;KACtC,CAAC,CAEL,CAAC;AACN,CAAC;AArBD,8BAqBC"}
1
+ {"version":3,"file":"DateField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/DateField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAsD;AACtD,uCAAiD;AACjD,2CAAyD;AAElD,MAAM,aAAa,GAAG,KAAK,CAAC,EAAE;IACjC,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,IAAI,CAAC;KACf;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,KAAK,GAAG,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC;KAC3B;IAED,OAAO,IAAA,wBAAa,EAAC,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5D,CAAC,CAAC;AATW,QAAA,aAAa,iBASxB;AAEF,SAAgB,SAAS,CAAC,UAA6B,EAAE;IACrD,OAAO,IAAA,wBAAe,EAClB,GAAG;QACC,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,WAAW;YAC1B,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,WAAW,EAAE;gBACT,IAAI,EAAE,qBAAa;gBACnB,EAAE,EAAE,qBAAa;aACpB;SACJ,CAAC;QACF,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;QACxD,IAAA,2BAAS,EAAC;YACN,OAAO,EAAE,0BAA0B;SACtC,CAAC;KACL,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAvBD,8BAuBC"}
@@ -2,5 +2,6 @@ import { IBaseFieldOptions } from './BaseField';
2
2
  export interface IDecimalFieldOptions extends IBaseFieldOptions {
3
3
  precision?: number;
4
4
  scale?: number;
5
+ isDecimalConstraintMessage?: string;
5
6
  }
6
7
  export declare function DecimalField(options?: IDecimalFieldOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
@@ -21,7 +21,7 @@ function DecimalField(options = {}) {
21
21
  }),
22
22
  options.nullable && (0, class_validator_1.ValidateIf)((object, value) => value !== null),
23
23
  (0, class_validator_1.IsString)({
24
- message: 'Должно быть строкой',
24
+ message: options.isDecimalConstraintMessage || 'Должно быть строкой',
25
25
  }),
26
26
  ].filter(Boolean));
27
27
  }
@@ -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,qDAAqD;AACrD,2CAAyD;AAOzD,SAAgB,YAAY,CAAC,UAAgC,EAAE;IAC3D,OAAO,IAAA,wBAAe,EAAC,GAAG;QAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,cAAc;YAC7B,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;SACnB,CAAC;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,EAAC;YACL,OAAO,EAAE,qBAAqB;SACjC,CAAC;KACL,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AApBD,oCAoBC"}
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;AAQzD,SAAgB,YAAY,CAAC,UAAgC,EAAE;IAC3D,OAAO,IAAA,wBAAe,EAAC,GAAG;QAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,cAAc;YAC7B,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;SACnB,CAAC;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,EAAC;YACL,OAAO,EAAE,OAAO,CAAC,0BAA0B,IAAI,qBAAqB;SACvE,CAAC;KACL,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AApBD,oCAoBC"}
@@ -1,5 +1,6 @@
1
1
  import { IBaseFieldOptions } from './BaseField';
2
2
  export interface IEnumFieldOptions extends IBaseFieldOptions {
3
3
  enum?: object | string[] | any;
4
+ isEnumConstraintMessage?: string;
4
5
  }
5
6
  export declare function EnumField(options?: IEnumFieldOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
@@ -33,7 +33,9 @@ function EnumField(options = {}) {
33
33
  nullable: options.nullable,
34
34
  }),
35
35
  options.nullable && (0, class_validator_1.ValidateIf)((object, value) => value !== null),
36
- (0, class_validator_1.IsEnum)(options.enum),
36
+ (0, class_validator_1.IsEnum)(options.enum, {
37
+ message: options.isEnumConstraintMessage || 'Выберите одно из значений'
38
+ }),
37
39
  ].filter(Boolean));
38
40
  }
39
41
  exports.EnumField = EnumField;
@@ -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,qDAAmD;AACnD,2CAAyD;AACzD,4DAAqD;AAMrD,SAAgB,SAAS,CAAC,UAA6B,EAAE;IACrD,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,EAAC,OAAO,EAAC;YACd,aAAa,EAAE,WAAW;YAC1B,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,QAAQ;SACnB,CAAC;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"}
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;AAOrD,SAAgB,SAAS,CAAC,UAA6B,EAAE;IACrD,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,EAAC,OAAO,EAAC;YACd,aAAa,EAAE,WAAW;YAC1B,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,QAAQ;SACnB,CAAC;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,EAAE;YACjB,OAAO,EAAE,OAAO,CAAC,uBAAuB,IAAI,2BAA2B;SAC1E,CAAC;KACL,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAlCD,8BAkCC"}
@@ -1,5 +1,7 @@
1
1
  import { IBaseFieldOptions } from './BaseField';
2
2
  export interface IFileField extends IBaseFieldOptions {
3
3
  multiple?: boolean;
4
+ isImage?: boolean;
4
5
  }
6
+ export declare function getFileFieldDecorators(options: IFileField): (<TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void)[];
5
7
  export declare function FileField(options?: IFileField): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
@@ -1,20 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FileField = void 0;
3
+ exports.FileField = exports.getFileFieldDecorators = 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
7
  const BaseField_1 = require("./BaseField");
8
+ function getFileFieldDecorators(options) {
9
+ return [
10
+ (0, BaseField_1.BaseField)(options, {
11
+ decoratorName: 'FileField',
12
+ appType: 'file',
13
+ jsType: 'number',
14
+ }),
15
+ (0, typeorm_1.Column)({
16
+ type: options.multiple ? 'simple-array' : 'integer',
17
+ default: options.defaultValue,
18
+ nullable: options.nullable,
19
+ }),
20
+ options.nullable && (0, class_validator_1.ValidateIf)((object, value) => value),
21
+ options.multiple
22
+ ? (0, class_validator_1.IsArray)({
23
+ message: options.isImage ? 'Необходимо загрузить изображения' : 'Необходимо загрузить файлы',
24
+ })
25
+ : (0, class_validator_1.IsInt)({
26
+ message: options.isImage ? 'Необходимо загрузить изображение' : 'Необходимо загрузить файл',
27
+ }),
28
+ ].filter(Boolean);
29
+ }
30
+ exports.getFileFieldDecorators = getFileFieldDecorators;
8
31
  function FileField(options = {}) {
9
- return (0, common_1.applyDecorators)((0, BaseField_1.BaseField)(options, {
10
- decoratorName: 'FileField',
11
- appType: 'file',
12
- jsType: 'number',
13
- }), (0, typeorm_1.Column)({
14
- type: options.multiple ? 'simple-array' : 'integer',
15
- default: options.defaultValue,
16
- nullable: options.nullable,
17
- }), (0, class_validator_1.IsOptional)(), options.multiple ? (0, class_validator_1.IsArray)() : (0, class_validator_1.IsInt)());
32
+ return (0, common_1.applyDecorators)(...getFileFieldDecorators(options));
18
33
  }
19
34
  exports.FileField = FileField;
20
35
  //# 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,qDAA2D;AAC3D,2CAAyD;AAMzD,SAAgB,SAAS,CAAC,UAAsB,EAAE;IAC9C,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,WAAW;QAC1B,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QACnD,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,EACF,IAAA,4BAAU,GAAE,EACZ,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,yBAAO,GAAE,CAAC,CAAC,CAAC,IAAA,uBAAK,GAAE,CACzC,CAAC;AACN,CAAC;AAfD,8BAeC"}
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,qDAA2D;AAC3D,2CAAyD;AAOzD,SAAgB,sBAAsB,CAAC,OAAmB;IACtD,OAAO;QACH,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,WAAW;YAC1B,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;YACnD,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,CAAC;QACxD,OAAO,CAAC,QAAQ;YACZ,CAAC,CAAC,IAAA,yBAAO,EAAC;gBACN,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,4BAA4B;aAC/F,CAAC;YACF,CAAC,CAAC,IAAA,uBAAK,EAAC;gBACJ,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,2BAA2B;aAC9F,CAAC;KACT,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACtB,CAAC;AArBD,wDAqBC;AAED,SAAgB,SAAS,CAAC,UAAsB,EAAE;IAC9C,OAAO,IAAA,wBAAe,EAClB,GAAG,sBAAsB,CAAC,OAAO,CAAC,CACrC,CAAC;AACN,CAAC;AAJD,8BAIC"}
@@ -0,0 +1,6 @@
1
+ import { IBaseFieldOptions } from './BaseField';
2
+ export interface IFileField extends IBaseFieldOptions {
3
+ multiple?: boolean;
4
+ isImage?: boolean;
5
+ }
6
+ export declare function ImageField(options?: IFileField): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImageField = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const FileField_1 = require("./FileField");
6
+ function ImageField(options = {}) {
7
+ return (0, common_1.applyDecorators)(...(0, FileField_1.getFileFieldDecorators)(Object.assign(Object.assign({}, options), { isImage: true })));
8
+ }
9
+ exports.ImageField = ImageField;
10
+ //# sourceMappingURL=ImageField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/ImageField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAE/C,2CAAmD;AAOnD,SAAgB,UAAU,CAAC,UAAsB,EAAE;IAC/C,OAAO,IAAA,wBAAe,EAClB,GAAG,IAAA,kCAAsB,kCAAK,OAAO,KAAE,OAAO,EAAE,IAAI,IAAE,CACzD,CAAC;AACN,CAAC;AAJD,gCAIC"}
@@ -1,5 +1,6 @@
1
1
  import { IBaseFieldOptions } from './BaseField';
2
2
  export interface IIntegerFieldOptions extends IBaseFieldOptions {
3
3
  unique?: boolean;
4
+ isIntConstraintMessage?: string;
4
5
  }
5
6
  export declare function IntegerField(options?: IIntegerFieldOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
@@ -28,7 +28,7 @@ function IntegerField(options = {}) {
28
28
  return value === null ? value : (0, lodash_1.toInteger)(value);
29
29
  }),
30
30
  (0, class_validator_1.IsInt)({
31
- message: 'Должно быть числом',
31
+ message: options.isIntConstraintMessage || 'Должно быть числом',
32
32
  each: options.isArray,
33
33
  }),
34
34
  typeof options.min === 'number' && (0, class_validator_1.Min)(options.min),
@@ -1 +1 @@
1
- {"version":3,"file":"IntegerField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/IntegerField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,mCAA+C;AAC/C,qCAA+B;AAC/B,qDAA4E;AAC5E,2CAAyD;AACzD,yDAA4C;AAM5C,SAAgB,YAAY,CAAC,UAAgC,EAAE;IAC3D,OAAO,IAAA,wBAAe,EAAC,GAAG;QACtB,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,cAAc;YAC7B,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,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,IAAI,OAAO,KAAK,KAAK,WAAW,CAAC;QACjG,IAAA,6BAAS,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;YAClB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACtB,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAA,kBAAU,EAAC,SAAS,CAAC,CAAC,CAAC;aACxD;YACD,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC;QACtD,CAAC,CAAE;QACH,IAAA,uBAAK,EAAC;YACF,OAAO,EAAE,oBAAoB;YAC7B,IAAI,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC;QACF,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;AA3BD,oCA2BC"}
1
+ {"version":3,"file":"IntegerField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/IntegerField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,mCAA+C;AAC/C,qCAA+B;AAC/B,qDAA4D;AAC5D,2CAAyD;AACzD,yDAA4C;AAO5C,SAAgB,YAAY,CAAC,UAAgC,EAAE;IAC3D,OAAO,IAAA,wBAAe,EAAC,GAAG;QACtB,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,cAAc;YAC7B,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,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,IAAI,OAAO,KAAK,KAAK,WAAW,CAAC;QACjG,IAAA,6BAAS,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;YAClB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACtB,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAA,kBAAU,EAAC,SAAS,CAAC,CAAC,CAAC;aACxD;YACD,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAA,uBAAK,EAAC;YACF,OAAO,EAAE,OAAO,CAAC,sBAAsB,IAAI,oBAAoB;YAC/D,IAAI,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC;QACF,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;AA3BD,oCA2BC"}
@@ -11,19 +11,25 @@ function PhoneField(options = {}) {
11
11
  if (!options.label) {
12
12
  options.label = 'Телефон';
13
13
  }
14
- return (0, common_1.applyDecorators)((0, BaseField_1.BaseField)(options, {
15
- decoratorName: 'PhoneField',
16
- appType: 'phone',
17
- jsType: 'string',
18
- }), (0, typeorm_1.Column)({
19
- type: 'varchar',
20
- length: options.max || 16,
21
- default: options.defaultValue,
22
- unique: options.unique,
23
- nullable: options.nullable,
24
- }), (0, class_transformer_1.Transform)(({ value }) => value ? value.replace(findCharsExceptPhoneSymbolsRegExp, '') : value), (0, class_validator_1.IsPhoneNumber)(null, {
25
- message: 'Некорректный номер телефона',
26
- }));
14
+ return (0, common_1.applyDecorators)(...[
15
+ (0, BaseField_1.BaseField)(options, {
16
+ decoratorName: 'PhoneField',
17
+ appType: 'phone',
18
+ jsType: 'string',
19
+ }),
20
+ (0, typeorm_1.Column)({
21
+ type: 'varchar',
22
+ length: options.max || 16,
23
+ default: options.defaultValue,
24
+ unique: options.unique,
25
+ nullable: options.nullable,
26
+ }),
27
+ options.nullable && (0, class_validator_1.ValidateIf)((object, value) => value),
28
+ (0, class_transformer_1.Transform)(({ value }) => value ? value.replace(findCharsExceptPhoneSymbolsRegExp, '') : value),
29
+ (0, class_validator_1.IsPhoneNumber)(null, {
30
+ message: 'Некорректный номер телефона',
31
+ }),
32
+ ].filter(Boolean));
27
33
  }
28
34
  exports.PhoneField = PhoneField;
29
35
  //# sourceMappingURL=PhoneField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/PhoneField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAA8C;AAC9C,2CAAyD;AACzD,yDAA4C;AAM5C,MAAM,iCAAiC,GAAG,SAAS,CAAC;AAEpD,SAAgB,UAAU,CAAC,UAA8B,EAAE;IACvD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;KAC7B;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,YAAY;QAC3B,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE;QACzB,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,EACF,IAAA,6BAAS,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAC5F,IAAA,+BAAa,EAAC,IAAI,EAAE;QAChB,OAAO,EAAE,6BAA6B;KACzC,CAAC,CACL,CAAC;AACN,CAAC;AAvBD,gCAuBC"}
1
+ {"version":3,"file":"PhoneField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/PhoneField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAA0D;AAC1D,2CAAyD;AACzD,yDAA4C;AAM5C,MAAM,iCAAiC,GAAG,SAAS,CAAC;AAEpD,SAAgB,UAAU,CAAC,UAA8B,EAAE;IACvD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;KAC7B;IAED,OAAO,IAAA,wBAAe,EAClB,GAAG;QACC,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,YAAY;YAC3B,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE;YACzB,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;QACxD,IAAA,6BAAS,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5F,IAAA,+BAAa,EAAC,IAAI,EAAE;YAChB,OAAO,EAAE,6BAA6B;SACzC,CAAC;KACL,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AA1BD,gCA0BC"}
@@ -32,4 +32,5 @@ export { UidField } from './UidField';
32
32
  export { UpdateTimeField } from './UpdateTimeField';
33
33
  export { RelationField } from './RelationField';
34
34
  export { RelationIdField } from './RelationIdField';
35
+ export { ImageField } from './ImageField';
35
36
  export declare type IAllFieldOptions = ICreateTimeFieldOptions & IDateTimeFieldColumnOptions & IDecimalFieldOptions & IEnumFieldOptions & IExtendFieldOptions & IFileField & IRelationFieldOptions & IRelationIdFieldOptions & IUpdateTimeFieldOptions & IEmailFieldOptions & IPhoneFieldOptions & IStringFieldOptions & IIntegerFieldOptions;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RelationIdField = 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.CreateTimeField = exports.CoordinateField = exports.BooleanField = void 0;
3
+ exports.ImageField = exports.RelationIdField = 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.CreateTimeField = exports.CoordinateField = 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 CoordinateField_1 = require("./CoordinateField");
@@ -43,4 +43,6 @@ var RelationField_1 = require("./RelationField");
43
43
  Object.defineProperty(exports, "RelationField", { enumerable: true, get: function () { return RelationField_1.RelationField; } });
44
44
  var RelationIdField_1 = require("./RelationIdField");
45
45
  Object.defineProperty(exports, "RelationIdField", { enumerable: true, get: function () { return RelationIdField_1.RelationIdField; } });
46
+ var ImageField_1 = require("./ImageField");
47
+ Object.defineProperty(exports, "ImageField", { enumerable: true, get: function () { return ImageField_1.ImageField; } });
46
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/index.ts"],"names":[],"mappings":";;;AAcA,+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;AACrB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/index.ts"],"names":[],"mappings":";;;AAcA,+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;AACrB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA"}