@steroidsjs/nest 1.4.30 → 1.4.33
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.
- package/package.json +1 -1
- package/src/infrastructure/decorators/fields/DateField.d.ts +7 -1
- package/src/infrastructure/decorators/fields/DateField.js +25 -3
- package/src/infrastructure/decorators/fields/DateField.js.map +1 -1
- package/src/infrastructure/decorators/fields/EmailField.js +2 -0
- package/src/infrastructure/decorators/fields/EmailField.js.map +1 -1
- package/src/infrastructure/decorators/fields/index.d.ts +2 -1
- package/src/infrastructure/decorators/fields/index.js.map +1 -1
- package/src/infrastructure/decorators/validators/MaxDate.d.ts +2 -0
- package/src/infrastructure/decorators/validators/MaxDate.js +23 -0
- package/src/infrastructure/decorators/validators/MaxDate.js.map +1 -0
- package/src/infrastructure/decorators/validators/MinDate.d.ts +2 -0
- package/src/infrastructure/decorators/validators/MinDate.js +23 -0
- package/src/infrastructure/decorators/validators/MinDate.js.map +1 -0
- package/src/usecases/helpers/ValidationHelper.js +3 -0
- package/src/usecases/helpers/ValidationHelper.js.map +1 -1
- package/src/usecases/services/CrudService.js +1 -1
- package/src/usecases/services/CrudService.js.map +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/package.json
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import { ValidationArguments } from 'class-validator';
|
|
1
2
|
import { IBaseFieldOptions } from './BaseField';
|
|
2
3
|
export declare const normalizeDate: (value: any) => any;
|
|
3
|
-
export declare
|
|
4
|
+
export declare const normalizeFunctionDate: (value: any, args?: ValidationArguments) => any;
|
|
5
|
+
export interface IDateFieldOptions extends IBaseFieldOptions {
|
|
6
|
+
minDate?: string | Date | Function;
|
|
7
|
+
maxDate?: string | Date | Function;
|
|
8
|
+
}
|
|
9
|
+
export declare function DateField(options?: IDateFieldOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
@@ -1,22 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DateField = exports.normalizeDate = void 0;
|
|
3
|
+
exports.DateField = exports.normalizeFunctionDate = exports.normalizeDate = 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 date_fns_1 = require("date-fns");
|
|
8
8
|
const BaseField_1 = require("./BaseField");
|
|
9
9
|
const Transform_1 = require("../Transform");
|
|
10
|
-
const
|
|
10
|
+
const MinDate_1 = require("../validators/MinDate");
|
|
11
|
+
const MaxDate_1 = require("../validators/MaxDate");
|
|
12
|
+
const normalizeDate = (value) => {
|
|
11
13
|
if (!value) {
|
|
12
14
|
return value;
|
|
13
15
|
}
|
|
14
16
|
if (typeof value === 'string') {
|
|
15
17
|
value = (0, date_fns_1.parseISO)(value);
|
|
16
18
|
}
|
|
17
|
-
|
|
19
|
+
try {
|
|
20
|
+
return (0, date_fns_1.formatISO9075)(value, { representation: 'date' });
|
|
21
|
+
}
|
|
22
|
+
catch (e) {
|
|
23
|
+
throw new Error('Wrong date: ' + value);
|
|
24
|
+
}
|
|
18
25
|
};
|
|
19
26
|
exports.normalizeDate = normalizeDate;
|
|
27
|
+
const normalizeFunctionDate = (value, args) => {
|
|
28
|
+
if (typeof value === 'function') {
|
|
29
|
+
value = value(args);
|
|
30
|
+
}
|
|
31
|
+
return (0, exports.normalizeDate)(value);
|
|
32
|
+
};
|
|
33
|
+
exports.normalizeFunctionDate = normalizeFunctionDate;
|
|
20
34
|
function DateField(options = {}) {
|
|
21
35
|
return (0, common_1.applyDecorators)(...[
|
|
22
36
|
(0, BaseField_1.BaseField)(options, {
|
|
@@ -32,6 +46,14 @@ function DateField(options = {}) {
|
|
|
32
46
|
(0, Transform_1.Transform)(({ value }) => (0, exports.normalizeDate)(value), Transform_1.TRANSFORM_TYPE_FROM_DB),
|
|
33
47
|
(0, Transform_1.Transform)(({ value }) => (0, exports.normalizeDate)(value), Transform_1.TRANSFORM_TYPE_TO_DB),
|
|
34
48
|
options.nullable && (0, class_validator_1.ValidateIf)((object, value) => value),
|
|
49
|
+
options.minDate && (0, MinDate_1.MinDate)(options.minDate, {
|
|
50
|
+
each: options.isArray,
|
|
51
|
+
message: (args) => `Выбрана дата раньше минимально допустимой (${(0, exports.normalizeFunctionDate)(options.minDate, args)})`,
|
|
52
|
+
}),
|
|
53
|
+
options.maxDate && (0, MaxDate_1.MaxDate)(options.maxDate, {
|
|
54
|
+
each: options.isArray,
|
|
55
|
+
message: (args) => `Выбрана дата позже максимально допустимой (${(0, exports.normalizeFunctionDate)(options.maxDate, args)})`,
|
|
56
|
+
}),
|
|
35
57
|
(0, class_validator_1.IsISO8601)({
|
|
36
58
|
message: 'Некорректный формат даты',
|
|
37
59
|
}),
|
|
@@ -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,
|
|
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,qDAA2E;AAC3E,uCAAiD;AACjD,2CAAyD;AACzD,4CAAqF;AACrF,mDAA8C;AAC9C,mDAA8C;AAEvC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,EAAE;IACnC,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,KAAK,CAAC;KAChB;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,KAAK,GAAG,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC;KAC3B;IAED,IAAI;QACA,OAAO,IAAA,wBAAa,EAAC,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;KAC3D;IAAC,OAAO,CAAC,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC;KAC3C;AACL,CAAC,CAAC;AAbW,QAAA,aAAa,iBAaxB;AAEK,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,IAA0B,EAAE,EAAE;IACvE,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC7B,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;KACvB;IAED,OAAO,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;AAChC,CAAC,CAAC;AANW,QAAA,qBAAqB,yBAMhC;AAOF,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;SAC7B,CAAC;QACF,IAAA,qBAAS,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,IAAA,qBAAa,EAAC,KAAK,CAAC,EAAE,kCAAsB,CAAC;QACpE,IAAA,qBAAS,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,IAAA,qBAAa,EAAC,KAAK,CAAC,EAAE,gCAAoB,CAAC;QAClE,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;QACxD,OAAO,CAAC,OAAO,IAAI,IAAA,iBAAO,EAAC,OAAO,CAAC,OAAO,EAAE;YACxC,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,8CAA8C,IAAA,6BAAqB,EAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG;SACnH,CAAC;QACF,OAAO,CAAC,OAAO,IAAI,IAAA,iBAAO,EAAC,OAAO,CAAC,OAAO,EAAE;YACxC,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,8CAA8C,IAAA,6BAAqB,EAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG;SACnH,CAAC;QACF,IAAA,2BAAS,EAAC;YACN,OAAO,EAAE,0BAA0B;SACtC,CAAC;KACL,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AA7BD,8BA6BC"}
|
|
@@ -23,6 +23,8 @@ function EmailField(options = {}) {
|
|
|
23
23
|
}),
|
|
24
24
|
options.nullable && (0, class_validator_1.ValidateIf)((object, value) => value !== null && typeof value !== 'undefined'),
|
|
25
25
|
(0, class_validator_1.IsEmail)({
|
|
26
|
+
allow_display_name: true,
|
|
27
|
+
}, {
|
|
26
28
|
message: 'Некорректный email адрес',
|
|
27
29
|
}),
|
|
28
30
|
].filter(Boolean));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/EmailField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAoD;AACpD,2CAAyD;AAMzD,SAAgB,UAAU,CAAC,UAA8B,EAAE;IACvD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;KAC3B;IAED,OAAO,IAAA,wBAAe,EAAC,GAAG;QAClB,IAAA,qBAAS,EAAC,OAAO,EAAC;YACd,aAAa,EAAE,YAAY;YAC3B,OAAO,EAAE,OAAO;YAChB,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,yBAAO,EAAC;YACJ,OAAO,EAAE,0BAA0B;SACtC,CAAC;KACL,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;
|
|
1
|
+
{"version":3,"file":"EmailField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/EmailField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAoD;AACpD,2CAAyD;AAMzD,SAAgB,UAAU,CAAC,UAA8B,EAAE;IACvD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;KAC3B;IAED,OAAO,IAAA,wBAAe,EAAC,GAAG;QAClB,IAAA,qBAAS,EAAC,OAAO,EAAC;YACd,aAAa,EAAE,YAAY;YAC3B,OAAO,EAAE,OAAO;YAChB,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,yBAAO,EAAC;YACJ,kBAAkB,EAAE,IAAI;SAC3B,EAAE;YACC,OAAO,EAAE,0BAA0B;SACtC,CAAC;KACL,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAzBD,gCAyBC"}
|
|
@@ -11,6 +11,7 @@ import { IEmailFieldOptions } from './EmailField';
|
|
|
11
11
|
import { IPhoneFieldOptions } from './PhoneField';
|
|
12
12
|
import { IStringFieldOptions } from './StringField';
|
|
13
13
|
import { IIntegerFieldOptions } from './IntegerField';
|
|
14
|
+
import { IDateFieldOptions } from './DateField';
|
|
14
15
|
export { BooleanField } from './BooleanField';
|
|
15
16
|
export { CoordinateField } from './CoordinateField';
|
|
16
17
|
export { CreateTimeField } from './CreateTimeField';
|
|
@@ -33,4 +34,4 @@ export { UpdateTimeField } from './UpdateTimeField';
|
|
|
33
34
|
export { RelationField } from './RelationField';
|
|
34
35
|
export { RelationIdField } from './RelationIdField';
|
|
35
36
|
export { ImageField } from './ImageField';
|
|
36
|
-
export declare type IAllFieldOptions = ICreateTimeFieldOptions & IDateTimeFieldColumnOptions & IDecimalFieldOptions & IEnumFieldOptions & IExtendFieldOptions & IFileField & IRelationFieldOptions & IRelationIdFieldOptions & IUpdateTimeFieldOptions & IEmailFieldOptions & IPhoneFieldOptions & IStringFieldOptions & IIntegerFieldOptions;
|
|
37
|
+
export declare type IAllFieldOptions = ICreateTimeFieldOptions & IDateTimeFieldColumnOptions & IDecimalFieldOptions & IEnumFieldOptions & IExtendFieldOptions & IFileField & IRelationFieldOptions & IRelationIdFieldOptions & IUpdateTimeFieldOptions & IEmailFieldOptions & IPhoneFieldOptions & IStringFieldOptions & IIntegerFieldOptions & IDateFieldOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/index.ts"],"names":[],"mappings":";;;AAeA,+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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MaxDate = void 0;
|
|
4
|
+
const class_validator_1 = require("class-validator");
|
|
5
|
+
const DateField_1 = require("../fields/DateField");
|
|
6
|
+
function MaxDate(maxDate, validationOptions) {
|
|
7
|
+
return function (object, propertyName) {
|
|
8
|
+
(0, class_validator_1.registerDecorator)({
|
|
9
|
+
name: 'minDate',
|
|
10
|
+
target: object.constructor,
|
|
11
|
+
propertyName,
|
|
12
|
+
constraints: [maxDate],
|
|
13
|
+
options: validationOptions,
|
|
14
|
+
validator: {
|
|
15
|
+
validate: function (value, args) {
|
|
16
|
+
return new Date((0, DateField_1.normalizeDate)(value)) <= new Date((0, DateField_1.normalizeFunctionDate)(args.constraints[0], args));
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
exports.MaxDate = MaxDate;
|
|
23
|
+
//# sourceMappingURL=MaxDate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MaxDate.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/validators/MaxDate.ts"],"names":[],"mappings":";;;AAAA,qDAA0F;AAC1F,mDAAyE;AAEzE,SAAgB,OAAO,CAAC,OAAiC,EAAE,iBAAqC;IAC5F,OAAO,UAAU,MAAc,EAAE,YAAoB;QACjD,IAAA,mCAAiB,EAAC;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY;YACZ,WAAW,EAAE,CAAC,OAAO,CAAC;YACtB,OAAO,EAAE,iBAAiB;YAC1B,SAAS,EAAE;gBACP,QAAQ,EAAE,UAAU,KAAU,EAAE,IAAyB;oBACrD,OAAO,IAAI,IAAI,CAAC,IAAA,yBAAa,EAAC,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAA,iCAAqB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBACxG,CAAC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAfD,0BAeC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MinDate = void 0;
|
|
4
|
+
const class_validator_1 = require("class-validator");
|
|
5
|
+
const DateField_1 = require("../fields/DateField");
|
|
6
|
+
function MinDate(minDate, validationOptions) {
|
|
7
|
+
return function (object, propertyName) {
|
|
8
|
+
(0, class_validator_1.registerDecorator)({
|
|
9
|
+
name: 'minDate',
|
|
10
|
+
target: object.constructor,
|
|
11
|
+
propertyName,
|
|
12
|
+
constraints: [minDate],
|
|
13
|
+
options: validationOptions,
|
|
14
|
+
validator: {
|
|
15
|
+
validate: function (value, args) {
|
|
16
|
+
return new Date((0, DateField_1.normalizeDate)(value)) >= new Date((0, DateField_1.normalizeFunctionDate)(args.constraints[0], args));
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
exports.MinDate = MinDate;
|
|
23
|
+
//# sourceMappingURL=MinDate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MinDate.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/validators/MinDate.ts"],"names":[],"mappings":";;;AAAA,qDAA0F;AAC1F,mDAAyE;AAEzE,SAAgB,OAAO,CAAC,OAAiC,EAAE,iBAAqC;IAC5F,OAAO,UAAU,MAAc,EAAE,YAAoB;QACjD,IAAA,mCAAiB,EAAC;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY;YACZ,WAAW,EAAE,CAAC,OAAO,CAAC;YACtB,OAAO,EAAE,iBAAiB;YAC1B,SAAS,EAAE;gBACP,QAAQ,EAAE,UAAU,KAAU,EAAE,IAAyB;oBACrD,OAAO,IAAI,IAAI,CAAC,IAAA,yBAAa,EAAC,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAA,iCAAqB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBACxG,CAAC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAfD,0BAeC"}
|
|
@@ -30,6 +30,9 @@ class ValidationHelper {
|
|
|
30
30
|
}
|
|
31
31
|
static async validateByInstances(dto, params = null, validatorsInstances = null) {
|
|
32
32
|
var _a, _b, _c;
|
|
33
|
+
if (!dto) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
33
36
|
const errors = {};
|
|
34
37
|
const keys = (0, BaseField_1.isMetaClass)(dto.constructor) ? (0, BaseField_1.getMetaFields)(dto.constructor) : Object.keys(dto);
|
|
35
38
|
for (const key of keys) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationHelper.js","sourceRoot":"","sources":["../../../../src/usecases/helpers/ValidationHelper.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ValidationHelper.js","sourceRoot":"","sources":["../../../../src/usecases/helpers/ValidationHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,7 +62,7 @@ class CrudService extends ReadService_1.ReadService {
|
|
|
62
62
|
relations.forEach((relation) => {
|
|
63
63
|
var _a;
|
|
64
64
|
if (((_a = model === null || model === void 0 ? void 0 : model[relation]) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
65
|
-
throw new exceptions_1.UserException('Нельзя удалить, есть связные элементы');
|
|
65
|
+
throw new exceptions_1.UserException('Нельзя удалить, есть связные элементы (' + relation + ')');
|
|
66
66
|
}
|
|
67
67
|
});
|
|
68
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrudService.js","sourceRoot":"","sources":["../../../../src/usecases/services/CrudService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CrudService.js","sourceRoot":"","sources":["../../../../src/usecases/services/CrudService.ts"],"names":[],"mappings":"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"}
|