@steroidsjs/nest 1.3.20 → 1.3.23
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/domain/enums/RelationTypeEnum.d.ts +6 -0
- package/src/domain/enums/RelationTypeEnum.js +11 -0
- package/src/domain/enums/RelationTypeEnum.js.map +1 -0
- package/src/infrastructure/decorators/fields/BaseField.d.ts +1 -0
- package/src/infrastructure/decorators/fields/BaseField.js +13 -1
- package/src/infrastructure/decorators/fields/BaseField.js.map +1 -1
- package/src/infrastructure/decorators/fields/CreateTimeField.js +2 -2
- package/src/infrastructure/decorators/fields/CreateTimeField.js.map +1 -1
- package/src/infrastructure/decorators/fields/RelationField.js +3 -1
- package/src/infrastructure/decorators/fields/RelationField.js.map +1 -1
- package/src/infrastructure/decorators/fields/UpdateTimeField.js +2 -2
- package/src/infrastructure/decorators/fields/UpdateTimeField.js.map +1 -1
- package/src/infrastructure/filters/UserExceptionFilter.d.ts +5 -0
- package/src/infrastructure/filters/UserExceptionFilter.js +29 -0
- package/src/infrastructure/filters/UserExceptionFilter.js.map +1 -0
- package/src/infrastructure/tests/bootstrap.js +2 -1
- package/src/infrastructure/tests/bootstrap.js.map +1 -1
- package/src/usecases/exceptions/UserException.d.ts +4 -0
- package/src/usecases/exceptions/UserException.js +10 -0
- package/src/usecases/exceptions/UserException.js.map +1 -0
- package/src/usecases/exceptions/index.d.ts +1 -0
- package/src/usecases/exceptions/index.js +3 -1
- package/src/usecases/exceptions/index.js.map +1 -1
- package/src/usecases/services/CrudService.d.ts +1 -0
- package/src/usecases/services/CrudService.js +20 -0
- package/src/usecases/services/CrudService.js.map +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/package.json
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RelationTypeEnum = void 0;
|
|
4
|
+
var RelationTypeEnum;
|
|
5
|
+
(function (RelationTypeEnum) {
|
|
6
|
+
RelationTypeEnum["OneToOne"] = "OneToOne";
|
|
7
|
+
RelationTypeEnum["ManyToMany"] = "ManyToMany";
|
|
8
|
+
RelationTypeEnum["ManyToOne"] = "ManyToOne";
|
|
9
|
+
RelationTypeEnum["OneToMany"] = "OneToMany";
|
|
10
|
+
})(RelationTypeEnum = exports.RelationTypeEnum || (exports.RelationTypeEnum = {}));
|
|
11
|
+
//# sourceMappingURL=RelationTypeEnum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RelationTypeEnum.js","sourceRoot":"","sources":["../../../../src/domain/enums/RelationTypeEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAKX;AALD,WAAY,gBAAgB;IACxB,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;AAC3B,CAAC,EALW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAK3B"}
|
|
@@ -34,6 +34,7 @@ export declare const getFieldOptions: (targetClass: any, fieldName: string) => I
|
|
|
34
34
|
export declare const isMetaClass: (MetaClass: any) => boolean;
|
|
35
35
|
export declare const getMetaFields: (MetaClass: any) => string[];
|
|
36
36
|
export declare const getMetaRelations: (MetaClass: any, parentPrefix?: any) => string[];
|
|
37
|
+
export declare const getRelationsByFilter: (MetaClass: any, filterCallBack: (options: IAllFieldOptions) => void) => string[];
|
|
37
38
|
export declare const getFieldDecoratorName: (targetClass: any, fieldName: string) => string | undefined;
|
|
38
39
|
export declare const getFieldDecorator: (targetClass: any, fieldName: string) => (...args: any) => PropertyDecorator;
|
|
39
40
|
export declare function BaseField(options?: IBaseFieldOptions, internalOptions?: IInternalFieldOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseField = exports.getFieldDecorator = exports.getFieldDecoratorName = exports.getMetaRelations = exports.getMetaFields = exports.isMetaClass = exports.getFieldOptions = exports.getMetaPrimaryKey = exports.STEROIDS_META_KEYS = exports.STEROIDS_META_FIELD_DECORATOR = exports.STEROIDS_META_FIELD = void 0;
|
|
3
|
+
exports.BaseField = exports.getFieldDecorator = exports.getFieldDecoratorName = exports.getRelationsByFilter = exports.getMetaRelations = exports.getMetaFields = exports.isMetaClass = exports.getFieldOptions = exports.getMetaPrimaryKey = exports.STEROIDS_META_KEYS = exports.STEROIDS_META_FIELD_DECORATOR = exports.STEROIDS_META_FIELD = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
5
|
const swagger_1 = require("@nestjs/swagger");
|
|
6
6
|
const class_validator_1 = require("class-validator");
|
|
@@ -48,6 +48,18 @@ const getMetaRelations = (MetaClass, parentPrefix = null) => {
|
|
|
48
48
|
}, []);
|
|
49
49
|
};
|
|
50
50
|
exports.getMetaRelations = getMetaRelations;
|
|
51
|
+
const getRelationsByFilter = (MetaClass, filterCallBack) => {
|
|
52
|
+
return (0, exports.getMetaFields)(MetaClass)
|
|
53
|
+
.filter(fieldName => {
|
|
54
|
+
const options = (0, exports.getFieldOptions)(MetaClass, fieldName);
|
|
55
|
+
return ['relation'].includes(options.appType);
|
|
56
|
+
})
|
|
57
|
+
.filter((relationName) => {
|
|
58
|
+
const relationOptions = (0, exports.getFieldOptions)(MetaClass, relationName);
|
|
59
|
+
return filterCallBack(relationOptions);
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
exports.getRelationsByFilter = getRelationsByFilter;
|
|
51
63
|
const getFieldDecoratorName = (targetClass, fieldName) => {
|
|
52
64
|
return Reflect.getMetadata(exports.STEROIDS_META_FIELD_DECORATOR, targetClass.prototype, fieldName);
|
|
53
65
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/BaseField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,6CAA4C;AAE5C,qDAA2C;AAE3C,4CAA2D;AAE9C,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,6BAA6B,GAAG,+BAA+B,CAAC;AAChE,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAiChD,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAU,EAAE;IACrD,OAAO,IAAA,qBAAa,EAAC,WAAW,CAAC;SAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,uBAAe,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC,IAAI,IAAI,CAAC;AACzF,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B;AAEK,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,SAAiB,EAAoB,EAAE;IAChF,OAAO,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,2BAAmB,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACrG,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAEK,MAAM,WAAW,GAAG,CAAC,SAAS,EAAW,EAAE;IAC9C,OAAO,OAAO,CAAC,WAAW,CAAC,0BAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;AACxE,CAAC,CAAA;AAFY,QAAA,WAAW,eAEvB;AAEM,MAAM,aAAa,GAAG,CAAC,SAAS,EAAY,EAAE;IACjD,OAAO,OAAO,CAAC,WAAW,CAAC,0BAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAC9E,CAAC,CAAA;AAFY,QAAA,aAAa,iBAEzB;AAEM,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,EAAY,EAAE;IACzE,OAAO,IAAA,qBAAa,EAAC,SAAS,CAAC;SAC1B,MAAM,CAAC,SAAS,CAAC,EAAE;QAChB,MAAM,OAAO,GAAG,IAAA,uBAAe,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACtD,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE;QACnC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhC,MAAM,OAAO,GAAG,IAAA,uBAAe,EAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,OAAO,KAAK,YAAY,EAAE;YAClC,OAAO,YAAY,CAAC;SACvB;QACD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAE9C,IAAI,IAAA,mBAAW,EAAC,aAAa,CAAC,EAAE;YAC5B,MAAM,gBAAgB,GAAG,IAAA,wBAAgB,EAAC,aAAa,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;gBACzF,OAAO,GAAG,YAAY,IAAI,eAAe,EAAE,CAAC;YAChD,CAAC,CAAC,CAAA;YACF,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,gBAAgB,CAAC,CAAC;SACzD;QAED,OAAO,YAAY,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;AACf,CAAC,CAAA;AAxBY,QAAA,gBAAgB,oBAwB5B;AAEM,MAAM,qBAAqB,GAAG,CAAC,WAAW,EAAE,SAAiB,
|
|
1
|
+
{"version":3,"file":"BaseField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/BaseField.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ const CreateTimeBehaviour = (object, propertyName) => {
|
|
|
12
12
|
const methodName = propertyName + '__createTimeBehaviour';
|
|
13
13
|
if (!object[methodName]) {
|
|
14
14
|
object[methodName] = function () {
|
|
15
|
-
this[propertyName] = (0, DateTimeField_1.normalizeDateTime)(new Date());
|
|
15
|
+
this[propertyName] = (0, DateTimeField_1.normalizeDateTime)(new Date(), false);
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
18
|
(0, typeorm_1.getMetadataArgsStorage)().entityListeners.push({
|
|
@@ -34,7 +34,7 @@ function CreateTimeField(options = {}) {
|
|
|
34
34
|
precision: (0, lodash_1.has)(options, 'precision') ? options.precision : 0,
|
|
35
35
|
default: (0, lodash_1.has)(options, 'defaultValue') ? options.defaultValue : undefined,
|
|
36
36
|
nullable: (0, lodash_1.has)(options, 'nullable') ? options.nullable : false,
|
|
37
|
-
}), (0, Transform_1.Transform)(({ value }) => (0, DateTimeField_1.normalizeDateTime)(value), Transform_1.TRANSFORM_TYPE_FROM_DB), (0, Transform_1.Transform)(({ value }) => (0, DateTimeField_1.normalizeDateTime)(value), Transform_1.TRANSFORM_TYPE_TO_DB), CreateTimeBehaviour);
|
|
37
|
+
}), (0, Transform_1.Transform)(({ value }) => (0, DateTimeField_1.normalizeDateTime)(value, false), Transform_1.TRANSFORM_TYPE_FROM_DB), (0, Transform_1.Transform)(({ value }) => (0, DateTimeField_1.normalizeDateTime)(value, false), Transform_1.TRANSFORM_TYPE_TO_DB), CreateTimeBehaviour);
|
|
38
38
|
}
|
|
39
39
|
exports.CreateTimeField = CreateTimeField;
|
|
40
40
|
//# sourceMappingURL=CreateTimeField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateTimeField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/CreateTimeField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,mCAAmC;AACnC,qCAAuD;AACvD,kFAA6E;AAC7E,2CAAyD;AACzD,mDAAkD;AAClD,4CAAqF;AAMrF,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;IACjD,MAAM,UAAU,GAAG,YAAY,GAAG,uBAAuB,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAErB,MAAM,CAAC,UAAU,CAAC,GAAG;YACjB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAA,iCAAiB,EAAC,IAAI,IAAI,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"CreateTimeField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/CreateTimeField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,mCAAmC;AACnC,qCAAuD;AACvD,kFAA6E;AAC7E,2CAAyD;AACzD,mDAAkD;AAClD,4CAAqF;AAMrF,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;IACjD,MAAM,UAAU,GAAG,YAAY,GAAG,uBAAuB,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAErB,MAAM,CAAC,UAAU,CAAC,GAAG;YACjB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAA,iCAAiB,EAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC,CAAC;KACL;IAED,IAAA,gCAAsB,GAAE,CAAC,eAAe,CAAC,IAAI,CAAC;QAC1C,MAAM,EAAE,MAAM,CAAC,WAAW;QAC1B,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,uCAAkB,CAAC,aAAa;KACzC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,SAAgB,eAAe,CAAC,UAAmC,EAAE;IACjE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;KAC5B;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,iBAAiB;QAChC,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QACzE,QAAQ,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;KACjE,CAAC,EACF,IAAA,qBAAS,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,IAAA,iCAAiB,EAAC,KAAK,EAAE,KAAK,CAAC,EAAE,kCAAsB,CAAC,EAC/E,IAAA,qBAAS,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,IAAA,iCAAiB,EAAC,KAAK,EAAE,KAAK,CAAC,EAAE,gCAAoB,CAAC,EAC7E,mBAAmB,CACtB,CAAC;AACN,CAAC;AArBD,0CAqBC"}
|
|
@@ -48,7 +48,9 @@ const transformIds = (TableClass, value, isArray, transformType) => {
|
|
|
48
48
|
}
|
|
49
49
|
if (typeof value === 'number') {
|
|
50
50
|
const primaryKey = (0, BaseField_1.getMetaPrimaryKey)(TableClass);
|
|
51
|
-
|
|
51
|
+
const entity = new TableClass();
|
|
52
|
+
entity[primaryKey] = value;
|
|
53
|
+
return entity;
|
|
52
54
|
}
|
|
53
55
|
return value;
|
|
54
56
|
};
|
|
@@ -1 +1 @@
|
|
|
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,2CAA4G;AAC5G,sDAAoD;AACpD,4CAAqF;AACrF,qEAAgE;AA8BhE,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAE/C,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAO,EAAE;IAC3C,QAAQ,QAAQ,EAAE;QACd,KAAK,UAAU;YACX,OAAO,kBAAQ,CAAC;QACpB,KAAK,YAAY;YACb,OAAO,oBAAU,CAAC;QACtB,KAAK,WAAW;YACZ,OAAO,mBAAS,CAAC;QACrB,KAAK,WAAW;YACZ,OAAO,mBAAS,CAAC;QACrB;YACI,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,QAAQ,CAAC,CAAC;KAC3D;AACL,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,OAAwE,EAAE,EAAE;IACpG,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE;QACvD,OAAO,mBAAS,CAAC;KACpB;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE;QACrD,OAAO,oBAAU,CAAC;KACrB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE;IACtE,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;KACzF;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC,EAAE;QACvE,OAAO,uBAAU,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;KAC/D;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AACD,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE;IAC/D,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;KAClF;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,MAAM,UAAU,GAAG,IAAA,6BAAiB,EAAC,UAAU,CAAC,CAAC;QACjD,
|
|
1
|
+
{"version":3,"file":"RelationField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/RelationField.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ const UpdateTimeBehaviour = (object, propertyName) => {
|
|
|
13
13
|
const methodName = propertyName + '__updateTimeBehaviour';
|
|
14
14
|
if (!object[methodName]) {
|
|
15
15
|
object[methodName] = function () {
|
|
16
|
-
this[propertyName] = (0, DateTimeField_1.normalizeDateTime)(new Date());
|
|
16
|
+
this[propertyName] = (0, DateTimeField_1.normalizeDateTime)(new Date(), false);
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
19
|
[EventListenerTypes_1.EventListenerTypes.BEFORE_INSERT, EventListenerTypes_1.EventListenerTypes.BEFORE_INSERT].forEach(type => {
|
|
@@ -37,7 +37,7 @@ function UpdateTimeField(options = {}) {
|
|
|
37
37
|
precision: (0, lodash_1.has)(options, 'precision') ? options.precision : 0,
|
|
38
38
|
default: (0, lodash_1.has)(options, 'defaultValue') ? options.defaultValue : undefined,
|
|
39
39
|
nullable: (0, lodash_1.has)(options, 'nullable') ? options.nullable : false,
|
|
40
|
-
}), (0, Transform_1.Transform)(({ value }) => (0, DateTimeField_1.normalizeDateTime)(value), Transform_1.TRANSFORM_TYPE_FROM_DB), (0, Transform_1.Transform)(() => (0, DateTimeField_1.normalizeDateTime)(new Date()), Transform_1.TRANSFORM_TYPE_TO_DB), UpdateTimeBehaviour, (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)());
|
|
40
|
+
}), (0, Transform_1.Transform)(({ value }) => (0, DateTimeField_1.normalizeDateTime)(value, false), Transform_1.TRANSFORM_TYPE_FROM_DB), (0, Transform_1.Transform)(() => (0, DateTimeField_1.normalizeDateTime)(new Date(), false), Transform_1.TRANSFORM_TYPE_TO_DB), UpdateTimeBehaviour, (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)());
|
|
41
41
|
}
|
|
42
42
|
exports.UpdateTimeField = UpdateTimeField;
|
|
43
43
|
//# sourceMappingURL=UpdateTimeField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateTimeField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/UpdateTimeField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,mCAAmC;AACnC,qCAAuD;AACvD,kFAA6E;AAC7E,2CAAyD;AACzD,mDAAkD;AAClD,qDAAqD;AACrD,4CAAqF;AAMrF,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;IACjD,MAAM,UAAU,GAAG,YAAY,GAAG,uBAAuB,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAErB,MAAM,CAAC,UAAU,CAAC,GAAG;YACjB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAA,iCAAiB,EAAC,IAAI,IAAI,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"UpdateTimeField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/UpdateTimeField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,mCAAmC;AACnC,qCAAuD;AACvD,kFAA6E;AAC7E,2CAAyD;AACzD,mDAAkD;AAClD,qDAAqD;AACrD,4CAAqF;AAMrF,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;IACjD,MAAM,UAAU,GAAG,YAAY,GAAG,uBAAuB,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAErB,MAAM,CAAC,UAAU,CAAC,GAAG;YACjB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAA,iCAAiB,EAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC,CAAC;KACL;IAED,CAAC,uCAAkB,CAAC,aAAa,EAAE,uCAAkB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAChF,IAAA,gCAAsB,GAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,UAAU;YACxB,IAAI;SACP,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,SAAgB,eAAe,CAAC,UAAmC,EAAE;IACjE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;KAC9B;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,iBAAiB;QAChC,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QACzE,QAAQ,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;KACjE,CAAC,EACF,IAAA,qBAAS,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,IAAA,iCAAiB,EAAC,KAAK,EAAE,KAAK,CAAC,EAAE,kCAAsB,CAAC,EAC/E,IAAA,qBAAS,EAAC,GAAG,EAAE,CAAC,IAAA,iCAAiB,EAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,gCAAoB,CAAC,EAC3E,mBAAmB,EACnB,IAAA,4BAAU,GAAE,EACZ,IAAA,0BAAQ,GAAE,CACb,CAAC;AACN,CAAC;AAvBD,0CAuBC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
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.UserExceptionFilter = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const exceptions_1 = require("../../usecases/exceptions/");
|
|
12
|
+
let UserExceptionFilter = class UserExceptionFilter {
|
|
13
|
+
catch(exception, host) {
|
|
14
|
+
const ctx = host.switchToHttp();
|
|
15
|
+
const response = ctx.getResponse();
|
|
16
|
+
const message = exception.message;
|
|
17
|
+
response
|
|
18
|
+
.status(common_1.HttpStatus.INTERNAL_SERVER_ERROR)
|
|
19
|
+
.json({
|
|
20
|
+
statusCode: common_1.HttpStatus.INTERNAL_SERVER_ERROR,
|
|
21
|
+
message,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
UserExceptionFilter = __decorate([
|
|
26
|
+
(0, common_1.Catch)(exceptions_1.UserException)
|
|
27
|
+
], UserExceptionFilter);
|
|
28
|
+
exports.UserExceptionFilter = UserExceptionFilter;
|
|
29
|
+
//# sourceMappingURL=UserExceptionFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserExceptionFilter.js","sourceRoot":"","sources":["../../../../src/infrastructure/filters/UserExceptionFilter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAiF;AAEjF,2DAAyD;AAGzD,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAC5B,KAAK,CAAC,SAAwB,EAAE,IAAmB;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAY,CAAC;QAC7C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAClC,QAAQ;aACH,MAAM,CAAC,mBAAU,CAAC,qBAAqB,CAAC;aACxC,IAAI,CAAC;YACF,UAAU,EAAE,mBAAU,CAAC,qBAAqB;YAC5C,OAAO;SACV,CAAC,CACL;IACL,CAAC;CACJ,CAAA;AAbY,mBAAmB;IAD/B,IAAA,cAAK,EAAC,0BAAa,CAAC;GACR,mBAAmB,CAa/B;AAbY,kDAAmB"}
|
|
@@ -16,6 +16,7 @@ const ModuleHelper_1 = require("../helpers/ModuleHelper");
|
|
|
16
16
|
const path_1 = require("path");
|
|
17
17
|
const config_1 = require("@nestjs/config");
|
|
18
18
|
const DatabaseNamingStrategy_1 = require("../base/DatabaseNamingStrategy");
|
|
19
|
+
const UserExceptionFilter_1 = require("../filters/UserExceptionFilter");
|
|
19
20
|
let AppModule = class AppModule {
|
|
20
21
|
};
|
|
21
22
|
AppModule = __decorate([
|
|
@@ -52,7 +53,7 @@ AppModule = __decorate([
|
|
|
52
53
|
async function bootstrap() {
|
|
53
54
|
const app = await core_1.NestFactory.create(AppModule);
|
|
54
55
|
app.useGlobalPipes(new CreateDtoPipe_1.CreateDtoPipe());
|
|
55
|
-
app.useGlobalFilters(new ValidationExceptionFilter_1.ValidationExceptionFilter());
|
|
56
|
+
app.useGlobalFilters(new ValidationExceptionFilter_1.ValidationExceptionFilter(), new UserExceptionFilter_1.UserExceptionFilter());
|
|
56
57
|
app.init();
|
|
57
58
|
return app;
|
|
58
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../../src/infrastructure/tests/bootstrap.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAsC;AACtC,uCAAyC;AACzC,oFAA+E;AAC/E,0DAAqD;AACrD,6CAA8C;AAC9C,0DAAqD;AACrD,+BAA0B;AAC1B,2CAA2D;AAC3D,2EAAsE;
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../../src/infrastructure/tests/bootstrap.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAsC;AACtC,uCAAyC;AACzC,oFAA+E;AAC/E,0DAAqD;AACrD,6CAA8C;AAC9C,0DAAqD;AACrD,+BAA0B;AAC1B,2CAA2D;AAC3D,2EAAsE;AAEtE,wEAAmE;AA+BnE,IAAM,SAAS,GAAf,MAAM,SAAS;CACd,CAAA;AADK,SAAS;IA7Bd,IAAA,eAAM,EAAC;QACJ,OAAO,EAAE;YACL,qBAAY,CAAC,OAAO,CAAC;gBACjB,WAAW,EAAE,MAAM;aACtB,CAAC;YACF,uBAAa,CAAC,YAAY,CAAC;gBACvB,OAAO,EAAE,CAAC,qBAAY,CAAC;gBACvB,MAAM,EAAE,CAAC,sBAAa,CAAC;gBACvB,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;oBACf,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;oBAC9B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;oBAC5C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;oBACtC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;oBACtC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;oBACtC,QAAQ,EAAE,CAAC,IAAA,WAAI,EAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;oBACnD,mBAAmB,EAAE,gBAAgB;oBACrC,WAAW,EAAE,IAAI;oBACjB,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAgB;oBAChE,cAAc,EAAE,IAAI,+CAAsB,EAAE;iBACjB,CAAA;aAClC,CAAC;YACF,uBAAa,CAAC,UAAU,CAAC,2BAAY,CAAC,SAAS,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC;SAC9E;QACD,SAAS,EAAE;YACP,GAAG,2BAAY,CAAC,SAAS,CAAC,SAAS,GAAG,mBAAmB,CAAC;YAC1D,GAAG,2BAAY,CAAC,SAAS,CAAC,SAAS,GAAG,eAAe,CAAC;SACzD;KACJ,CAAC;GACI,SAAS,CACd;AAEM,KAAK,UAAU,SAAS;IAC3B,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEhD,GAAG,CAAC,cAAc,CAAC,IAAI,6BAAa,EAAE,CAAC,CAAC;IACxC,GAAG,CAAC,gBAAgB,CAAC,IAAI,qDAAyB,EAAE,EAAC,IAAI,yCAAmB,EAAE,CAAC,CAAC;IAChF,GAAG,CAAC,IAAI,EAAE,CAAC;IAEX,OAAO,GAAG,CAAC;AACf,CAAC;AARD,8BAQC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UserException = void 0;
|
|
4
|
+
class UserException {
|
|
5
|
+
constructor(message) {
|
|
6
|
+
this.message = message;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.UserException = UserException;
|
|
10
|
+
//# sourceMappingURL=UserException.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserException.js","sourceRoot":"","sources":["../../../../src/usecases/exceptions/UserException.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;IAGtB,YAAY,OAAe;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAND,sCAMC"}
|
|
@@ -2,3 +2,4 @@ export { BadRequestException } from './BadRequestException';
|
|
|
2
2
|
export { ForbiddenException } from './ForbiddenException';
|
|
3
3
|
export { UnauthorizedException } from './UnauthorizedException';
|
|
4
4
|
export { ValidationException } from './ValidationException';
|
|
5
|
+
export { UserException } from './UserException';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ValidationException = exports.UnauthorizedException = exports.ForbiddenException = exports.BadRequestException = void 0;
|
|
3
|
+
exports.UserException = exports.ValidationException = exports.UnauthorizedException = exports.ForbiddenException = exports.BadRequestException = void 0;
|
|
4
4
|
var BadRequestException_1 = require("./BadRequestException");
|
|
5
5
|
Object.defineProperty(exports, "BadRequestException", { enumerable: true, get: function () { return BadRequestException_1.BadRequestException; } });
|
|
6
6
|
var ForbiddenException_1 = require("./ForbiddenException");
|
|
@@ -9,4 +9,6 @@ var UnauthorizedException_1 = require("./UnauthorizedException");
|
|
|
9
9
|
Object.defineProperty(exports, "UnauthorizedException", { enumerable: true, get: function () { return UnauthorizedException_1.UnauthorizedException; } });
|
|
10
10
|
var ValidationException_1 = require("./ValidationException");
|
|
11
11
|
Object.defineProperty(exports, "ValidationException", { enumerable: true, get: function () { return ValidationException_1.ValidationException; } });
|
|
12
|
+
var UserException_1 = require("./UserException");
|
|
13
|
+
Object.defineProperty(exports, "UserException", { enumerable: true, get: function () { return UserException_1.UserException; } });
|
|
12
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/usecases/exceptions/index.ts"],"names":[],"mappings":";;;AAAA,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,iEAA8D;AAAtD,8HAAA,qBAAqB,OAAA;AAC7B,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/usecases/exceptions/index.ts"],"names":[],"mappings":";;;AAAA,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,iEAA8D;AAAtD,8HAAA,qBAAqB,OAAA;AAC7B,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA"}
|
|
@@ -22,6 +22,7 @@ export declare class CrudService<TModel, TSearchDto = ISearchInputDto, TSaveDto
|
|
|
22
22
|
update<TSchema>(id: number | string, dto: TSaveDto, context?: ContextDto | null): Promise<TModel>;
|
|
23
23
|
update<TSchema>(id: number | string, dto: TSaveDto, context?: ContextDto | null, schemaClass?: Type<TSchema>): Promise<Type<TSchema>>;
|
|
24
24
|
saveInternal(prevModel: TModel | null, nextModel: TModel, context?: ContextDto): Promise<void>;
|
|
25
|
+
checkHasRelatedModels(id: string | number, service: CrudService<any>): Promise<void>;
|
|
25
26
|
remove(rawId: number | string, context?: ContextDto): Promise<void>;
|
|
26
27
|
removeInternal(id: number, context?: ContextDto): Promise<void>;
|
|
27
28
|
protected modelToSchema<TSchema>(model: TModel, schemaClass: Type<TSchema>): Type<TSchema>;
|
|
@@ -6,6 +6,8 @@ const DataMapper_1 = require("../helpers/DataMapper");
|
|
|
6
6
|
const ValidationHelper_1 = require("../helpers/ValidationHelper");
|
|
7
7
|
const SearchQuery_1 = require("../base/SearchQuery");
|
|
8
8
|
const BaseField_1 = require("../../infrastructure/decorators/fields/BaseField");
|
|
9
|
+
const RelationTypeEnum_1 = require("../../domain/enums/RelationTypeEnum");
|
|
10
|
+
const exceptions_1 = require("../exceptions");
|
|
9
11
|
class CrudService {
|
|
10
12
|
constructor() {
|
|
11
13
|
this.primaryKey = 'id';
|
|
@@ -71,8 +73,26 @@ class CrudService {
|
|
|
71
73
|
await save();
|
|
72
74
|
});
|
|
73
75
|
}
|
|
76
|
+
async checkHasRelatedModels(id, service) {
|
|
77
|
+
const relations = (0, BaseField_1.getRelationsByFilter)(this.modelClass, (relation) => {
|
|
78
|
+
if (relation.type === RelationTypeEnum_1.RelationTypeEnum.OneToOne) {
|
|
79
|
+
return !relation.isOwningSide;
|
|
80
|
+
}
|
|
81
|
+
return RelationTypeEnum_1.RelationTypeEnum.OneToMany === relation.type;
|
|
82
|
+
});
|
|
83
|
+
const searchQuery = new SearchQuery_1.default();
|
|
84
|
+
searchQuery.relations = relations;
|
|
85
|
+
searchQuery.condition = { id };
|
|
86
|
+
const model = await service.findOne(searchQuery);
|
|
87
|
+
relations.forEach((relation) => {
|
|
88
|
+
if (model[relation].length > 0) {
|
|
89
|
+
throw new exceptions_1.UserException('Нельзя удалить, есть связные элементы');
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
74
93
|
async remove(rawId, context = null) {
|
|
75
94
|
const id = (0, lodash_1.toInteger)(rawId);
|
|
95
|
+
await this.checkHasRelatedModels(id, this);
|
|
76
96
|
await this.removeInternal(id, context);
|
|
77
97
|
}
|
|
78
98
|
async removeInternal(id, context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrudService.js","sourceRoot":"","sources":["../../../../src/usecases/services/CrudService.ts"],"names":[],"mappings":";;;AACA,mCAA+C;AAE/C,sDAAiD;AAGjD,kEAA6D;AAC7D,qDAA8C;AAE9C,
|
|
1
|
+
{"version":3,"file":"CrudService.js","sourceRoot":"","sources":["../../../../src/usecases/services/CrudService.ts"],"names":[],"mappings":"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"}
|