@steroidsjs/nest 3.1.0 → 3.2.1
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/infrastructure/adapters/QueryAdapterTypeORM.js +2 -2
- package/infrastructure/adapters/QueryAdapterTypeORM.js.map +1 -1
- package/infrastructure/base/ModelTableStorage.d.ts +4 -0
- package/infrastructure/base/ModelTableStorage.js +21 -0
- package/infrastructure/base/ModelTableStorage.js.map +1 -0
- package/infrastructure/commands/entity-generator/templates/TableTemplate.txt +2 -2
- package/infrastructure/decorators/fields/BaseField.d.ts +2 -2
- package/infrastructure/decorators/fields/BaseField.js +68 -80
- package/infrastructure/decorators/fields/BaseField.js.map +1 -1
- package/infrastructure/decorators/fields/BooleanField.js +1 -9
- package/infrastructure/decorators/fields/BooleanField.js.map +1 -1
- package/infrastructure/decorators/fields/ComputableField.js +1 -1
- package/infrastructure/decorators/fields/ComputableField.js.map +1 -1
- package/infrastructure/decorators/fields/CoordinateField.js +0 -8
- package/infrastructure/decorators/fields/CoordinateField.js.map +1 -1
- package/infrastructure/decorators/fields/CreateTimeField.js +1 -23
- package/infrastructure/decorators/fields/CreateTimeField.js.map +1 -1
- package/infrastructure/decorators/fields/DateField.js +0 -6
- package/infrastructure/decorators/fields/DateField.js.map +1 -1
- package/infrastructure/decorators/fields/DateTimeField.js +6 -16
- package/infrastructure/decorators/fields/DateTimeField.js.map +1 -1
- package/infrastructure/decorators/fields/DecimalField.js +0 -8
- package/infrastructure/decorators/fields/DecimalField.js.map +1 -1
- package/infrastructure/decorators/fields/DecimalNumberField.js +3 -12
- package/infrastructure/decorators/fields/DecimalNumberField.js.map +1 -1
- package/infrastructure/decorators/fields/DeleteDateField.js +0 -5
- package/infrastructure/decorators/fields/DeleteDateField.js.map +1 -1
- package/infrastructure/decorators/fields/EmailField.js +0 -7
- package/infrastructure/decorators/fields/EmailField.js.map +1 -1
- package/infrastructure/decorators/fields/EnumField.js +2 -9
- package/infrastructure/decorators/fields/EnumField.js.map +1 -1
- package/infrastructure/decorators/fields/ExtendField.d.ts +1 -1
- package/infrastructure/decorators/fields/ExtendField.js +2 -1
- package/infrastructure/decorators/fields/ExtendField.js.map +1 -1
- package/infrastructure/decorators/fields/FileField.js +0 -6
- package/infrastructure/decorators/fields/FileField.js.map +1 -1
- package/infrastructure/decorators/fields/HtmlField.js +0 -5
- package/infrastructure/decorators/fields/HtmlField.js.map +1 -1
- package/infrastructure/decorators/fields/ImageField.js.map +1 -1
- package/infrastructure/decorators/fields/IntegerField.js +0 -7
- package/infrastructure/decorators/fields/IntegerField.js.map +1 -1
- package/infrastructure/decorators/fields/JSONBField.d.ts +1 -2
- package/infrastructure/decorators/fields/JSONBField.js +0 -8
- package/infrastructure/decorators/fields/JSONBField.js.map +1 -1
- package/infrastructure/decorators/fields/PasswordField.js +0 -6
- package/infrastructure/decorators/fields/PasswordField.js.map +1 -1
- package/infrastructure/decorators/fields/PhoneField.js +0 -8
- package/infrastructure/decorators/fields/PhoneField.js.map +1 -1
- package/infrastructure/decorators/fields/PrimaryKeyField.js +1 -2
- package/infrastructure/decorators/fields/PrimaryKeyField.js.map +1 -1
- package/infrastructure/decorators/fields/RelationField.js +7 -37
- package/infrastructure/decorators/fields/RelationField.js.map +1 -1
- package/infrastructure/decorators/fields/RelationIdField.js +8 -16
- package/infrastructure/decorators/fields/RelationIdField.js.map +1 -1
- package/infrastructure/decorators/fields/StringField.js +0 -9
- package/infrastructure/decorators/fields/StringField.js.map +1 -1
- package/infrastructure/decorators/fields/TextField.js +0 -7
- package/infrastructure/decorators/fields/TextField.js.map +1 -1
- package/infrastructure/decorators/fields/TimeField.js +1 -8
- package/infrastructure/decorators/fields/TimeField.js.map +1 -1
- package/infrastructure/decorators/fields/UidField.d.ts +0 -1
- package/infrastructure/decorators/fields/UidField.js +2 -28
- package/infrastructure/decorators/fields/UidField.js.map +1 -1
- package/infrastructure/decorators/fields/UpdateTimeField.js +2 -26
- package/infrastructure/decorators/fields/UpdateTimeField.js.map +1 -1
- package/infrastructure/decorators/fields/index.d.ts +57 -16
- package/infrastructure/decorators/fields/index.js +110 -54
- package/infrastructure/decorators/fields/index.js.map +1 -1
- package/infrastructure/decorators/typeorm/TypeOrmDecoratorFactory.d.ts +2 -0
- package/infrastructure/decorators/typeorm/TypeOrmDecoratorFactory.js +65 -0
- package/infrastructure/decorators/typeorm/TypeOrmDecoratorFactory.js.map +1 -0
- package/infrastructure/decorators/typeorm/TypeOrmTableFromModel.d.ts +6 -0
- package/infrastructure/decorators/typeorm/TypeOrmTableFromModel.js +29 -0
- package/infrastructure/decorators/typeorm/TypeOrmTableFromModel.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmBooleanField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmBooleanField/index.js +14 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmBooleanField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmCoordinateField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmCoordinateField/index.js +13 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmCoordinateField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmCreateTimeField/TypeOrmCreateTimeBehaviour.d.ts +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmCreateTimeField/TypeOrmCreateTimeBehaviour.js +22 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmCreateTimeField/TypeOrmCreateTimeBehaviour.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmCreateTimeField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmCreateTimeField/index.js +17 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmCreateTimeField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmDateField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmDateField/index.js +11 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmDateField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmDateTimeField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmDateTimeField/index.js +12 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmDateTimeField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmDecimalField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmDecimalField/index.js +13 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmDecimalField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmDecimalNumberField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmDecimalNumberField/index.js +13 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmDecimalNumberField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmDeleteDateColumn/index.d.ts +2 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmDeleteDateColumn/index.js +10 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmDeleteDateColumn/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmEmailField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmEmailField/index.js +12 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmEmailField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmEnumField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmEnumField/index.js +12 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmEnumField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmFileField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmFileField/index.js +11 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmFileField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmHtmlField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmHtmlField/index.js +11 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmHtmlField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmImageField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmImageField/index.js +11 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmImageField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmIntegerField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmIntegerField/index.js +12 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmIntegerField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmJSONBField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmJSONBField/index.js +13 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmJSONBField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmPasswordField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmPasswordField/index.js +12 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmPasswordField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmPhoneField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmPhoneField/index.js +13 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmPhoneField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmPrimaryKeyField/index.d.ts +2 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmPrimaryKeyField/index.js +7 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmPrimaryKeyField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmRelationField/TypeOrmRelationBehaviour.d.ts +4 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmRelationField/TypeOrmRelationBehaviour.js +30 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmRelationField/TypeOrmRelationBehaviour.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmRelationField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmRelationField/index.js +17 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmRelationField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmRelationIdField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmRelationIdField/index.js +10 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmRelationIdField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmStringField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmStringField/index.js +14 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmStringField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmTextField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmTextField/index.js +12 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmTextField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmTimeField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmTimeField/index.js +12 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmTimeField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmUidField/TypeOrmUidBehaviour.d.ts +2 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmUidField/TypeOrmUidBehaviour.js +26 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmUidField/TypeOrmUidBehaviour.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmUidField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmUidField/index.js +14 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmUidField/index.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmUpdateTimeField/TypeOrmUpdateTimeBehaviour.d.ts +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmUpdateTimeField/TypeOrmUpdateTimeBehaviour.js +24 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmUpdateTimeField/TypeOrmUpdateTimeBehaviour.js.map +1 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmUpdateTimeField/index.d.ts +3 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmUpdateTimeField/index.js +17 -0
- package/infrastructure/decorators/typeorm/fields/TypeOrmUpdateTimeField/index.js.map +1 -0
- package/infrastructure/repositories/CrudRepository.d.ts +5 -0
- package/infrastructure/repositories/CrudRepository.js +13 -4
- package/infrastructure/repositories/CrudRepository.js.map +1 -1
- package/infrastructure/tests/app/tables/ArticleTable.js +2 -2
- package/infrastructure/tests/app/tables/ArticleTable.js.map +1 -1
- package/infrastructure/tests/app/tables/CommentTable.js +2 -2
- package/infrastructure/tests/app/tables/CommentTable.js.map +1 -1
- package/infrastructure/tests/app/tables/FileTable.js +2 -2
- package/infrastructure/tests/app/tables/FileTable.js.map +1 -1
- package/infrastructure/tests/app/tables/ImageTable.js +2 -2
- package/infrastructure/tests/app/tables/ImageTable.js.map +1 -1
- package/infrastructure/tests/app/tables/TagTable.js +2 -2
- package/infrastructure/tests/app/tables/TagTable.js.map +1 -1
- package/infrastructure/tests/app/tables/UserInfoTable.js +2 -2
- package/infrastructure/tests/app/tables/UserInfoTable.js.map +1 -1
- package/infrastructure/tests/app/tables/UserTable.js +2 -2
- package/infrastructure/tests/app/tables/UserTable.js.map +1 -1
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/usecases/helpers/DataMapper.js +2 -2
- package/usecases/helpers/DataMapper.js.map +1 -1
- package/usecases/interfaces/ICrudRepository.d.ts +1 -0
- package/usecases/services/ReadService.d.ts +5 -0
- package/usecases/services/ReadService.js +7 -0
- package/usecases/services/ReadService.js.map +1 -1
- package/infrastructure/decorators/TableFromModel.d.ts +0 -9
- package/infrastructure/decorators/TableFromModel.js +0 -44
- package/infrastructure/decorators/TableFromModel.js.map +0 -1
|
@@ -6,8 +6,8 @@ const ConditionHelperTypeORM_1 = require("../helpers/typeORM/ConditionHelperType
|
|
|
6
6
|
const BaseField_1 = require("../decorators/fields/BaseField");
|
|
7
7
|
const SearchQuery_1 = require("../../usecases/base/SearchQuery");
|
|
8
8
|
const DataMapper_1 = require("../../usecases/helpers/DataMapper");
|
|
9
|
-
const TableFromModel_1 = require("../decorators/TableFromModel");
|
|
10
9
|
const RelationField_1 = require("../decorators/fields/RelationField");
|
|
10
|
+
const ModelTableStorage_1 = require("../base/ModelTableStorage");
|
|
11
11
|
class QueryAdapterTypeORM {
|
|
12
12
|
static prepare(dbRepository, dbQuery, searchQuery, eagerLoading = true) {
|
|
13
13
|
var _a, _b;
|
|
@@ -78,7 +78,7 @@ class QueryAdapterTypeORM {
|
|
|
78
78
|
const options = (0, BaseField_1.getFieldOptions)(MetaClass, relationName);
|
|
79
79
|
const relationClass = options.relationClass();
|
|
80
80
|
const dbQuery = dbRepository.manager
|
|
81
|
-
.getRepository((0,
|
|
81
|
+
.getRepository((0, ModelTableStorage_1.getTableFromModel)(relationClass))
|
|
82
82
|
.createQueryBuilder(searchQuery.getAlias());
|
|
83
83
|
// Execute
|
|
84
84
|
switch (options.type) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryAdapterTypeORM.js","sourceRoot":"","sources":["../../../src/infrastructure/adapters/QueryAdapterTypeORM.ts"],"names":[],"mappings":";;;AAAA,mCAAuC;AAGvC,sFAAiF;AACjF,8DAIwC;AACxC,iEAA0D;AAC1D,kEAA6D;AAC7D,
|
|
1
|
+
{"version":3,"file":"QueryAdapterTypeORM.js","sourceRoot":"","sources":["../../../src/infrastructure/adapters/QueryAdapterTypeORM.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const setModelBuilder: (ModelClass: any, builderHandler: any) => void;
|
|
2
|
+
export declare const getModelBuilder: (ModelClass: any) => any;
|
|
3
|
+
export declare const setTableFromModel: (ModelClass: any, TableClass: any) => void;
|
|
4
|
+
export declare const getTableFromModel: (ModelClass: any) => any;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTableFromModel = exports.setTableFromModel = exports.getModelBuilder = exports.setModelBuilder = void 0;
|
|
4
|
+
const modelToTableMap = {};
|
|
5
|
+
const modelBuildersMap = {};
|
|
6
|
+
const setModelBuilder = (ModelClass, builderHandler) => {
|
|
7
|
+
if (builderHandler && modelBuildersMap[ModelClass.name]) {
|
|
8
|
+
throw new Error('Model "' + ModelClass.name + '" already has builder');
|
|
9
|
+
}
|
|
10
|
+
modelBuildersMap[ModelClass.name] = builderHandler;
|
|
11
|
+
};
|
|
12
|
+
exports.setModelBuilder = setModelBuilder;
|
|
13
|
+
const getModelBuilder = (ModelClass) => modelBuildersMap[ModelClass.name] || null;
|
|
14
|
+
exports.getModelBuilder = getModelBuilder;
|
|
15
|
+
const setTableFromModel = (ModelClass, TableClass) => {
|
|
16
|
+
modelToTableMap[ModelClass.name] = TableClass;
|
|
17
|
+
};
|
|
18
|
+
exports.setTableFromModel = setTableFromModel;
|
|
19
|
+
const getTableFromModel = (ModelClass) => modelToTableMap[ModelClass.name] || null;
|
|
20
|
+
exports.getTableFromModel = getTableFromModel;
|
|
21
|
+
//# sourceMappingURL=ModelTableStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelTableStorage.js","sourceRoot":"","sources":["../../../src/infrastructure/base/ModelTableStorage.ts"],"names":[],"mappings":";;;AAAA,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAErB,MAAM,eAAe,GAAG,CAAC,UAAe,EAAE,cAAmB,EAAE,EAAE;IACpE,IAAI,cAAc,IAAI,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACrD,MAAM,IAAI,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,GAAG,uBAAuB,CAAC,CAAC;KAC1E;IACD,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;AACvD,CAAC,CAAC;AALW,QAAA,eAAe,mBAK1B;AAEK,MAAM,eAAe,GAAG,CAAC,UAAe,EAAE,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAAjF,QAAA,eAAe,mBAAkE;AAEvF,MAAM,iBAAiB,GAAG,CAAC,UAAe,EAAE,UAAe,EAAE,EAAE;IAClE,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;AAClD,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AAEK,MAAM,iBAAiB,GAAG,CAAC,UAAe,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAAlF,QAAA,iBAAiB,qBAAiE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {IDeepPartial} from '@steroidsjs/nest/usecases/interfaces/IDeepPartial';
|
|
2
|
-
import {
|
|
2
|
+
import {TypeOrmTableFromModel} from '@steroidsjs/nest/infrastructure/decorators/TypeOrmTableFromModel';
|
|
3
3
|
import {%entityName%Model} from '../../domain/models/%entityName%Model';
|
|
4
4
|
|
|
5
|
-
@
|
|
5
|
+
@TypeOrmTableFromModel(%entityName%Model, '%tableName%')
|
|
6
6
|
export class %entityName%Table implements IDeepPartial<%entityName%Model> {}
|
|
@@ -35,10 +35,10 @@ export interface IInternalFieldOptions {
|
|
|
35
35
|
decoratorName?: string;
|
|
36
36
|
isArray?: boolean;
|
|
37
37
|
}
|
|
38
|
-
export declare const
|
|
38
|
+
export declare const getMetaFields: (MetaClass: any) => string[];
|
|
39
39
|
export declare const getFieldOptions: (targetClass: any, fieldName: string) => IAllFieldOptions;
|
|
40
|
+
export declare const getMetaPrimaryKey: (targetClass: any) => string;
|
|
40
41
|
export declare const isMetaClass: (MetaClass: any) => boolean;
|
|
41
|
-
export declare const getMetaFields: (MetaClass: any) => string[];
|
|
42
42
|
export declare const getMetaRelations: (MetaClass: any, parentPrefix?: any) => string[];
|
|
43
43
|
export declare const getRelationsByFilter: (MetaClass: any, filterCallBack: (options: IAllFieldOptions) => void) => string[];
|
|
44
44
|
export declare const getFieldDecoratorName: (targetClass: any, fieldName: string) => string | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseField = exports.getFieldDecorator = exports.getFieldDecoratorName = exports.getRelationsByFilter = exports.getMetaRelations = exports.
|
|
3
|
+
exports.BaseField = exports.getFieldDecorator = exports.getFieldDecoratorName = exports.getRelationsByFilter = exports.getMetaRelations = exports.isMetaClass = exports.getMetaPrimaryKey = exports.getFieldOptions = exports.getMetaFields = 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");
|
|
@@ -8,19 +8,6 @@ const Transform_1 = require("../Transform");
|
|
|
8
8
|
exports.STEROIDS_META_FIELD = 'steroids_meta_field';
|
|
9
9
|
exports.STEROIDS_META_FIELD_DECORATOR = 'steroids_meta_field_decorator';
|
|
10
10
|
exports.STEROIDS_META_KEYS = 'steroids_meta_keys';
|
|
11
|
-
const getMetaPrimaryKey = (targetClass) => {
|
|
12
|
-
return (0, exports.getMetaFields)(targetClass)
|
|
13
|
-
.find(key => (0, exports.getFieldOptions)(targetClass, key).appType === 'primaryKey') || null;
|
|
14
|
-
};
|
|
15
|
-
exports.getMetaPrimaryKey = getMetaPrimaryKey;
|
|
16
|
-
const getFieldOptions = (targetClass, fieldName) => {
|
|
17
|
-
return targetClass && Reflect.getMetadata(exports.STEROIDS_META_FIELD, targetClass.prototype, fieldName);
|
|
18
|
-
};
|
|
19
|
-
exports.getFieldOptions = getFieldOptions;
|
|
20
|
-
const isMetaClass = (MetaClass) => {
|
|
21
|
-
return Reflect.hasMetadata(exports.STEROIDS_META_KEYS, MetaClass.prototype);
|
|
22
|
-
};
|
|
23
|
-
exports.isMetaClass = isMetaClass;
|
|
24
11
|
const getMetaFields = (MetaClass) => {
|
|
25
12
|
if (!(MetaClass === null || MetaClass === void 0 ? void 0 : MetaClass.prototype)) {
|
|
26
13
|
throw new Error('Wrong meta class, prototype not found: ' + String(MetaClass));
|
|
@@ -28,79 +15,80 @@ const getMetaFields = (MetaClass) => {
|
|
|
28
15
|
return Reflect.getMetadata(exports.STEROIDS_META_KEYS, MetaClass.prototype) || [];
|
|
29
16
|
};
|
|
30
17
|
exports.getMetaFields = getMetaFields;
|
|
18
|
+
const getFieldOptions = (targetClass, fieldName) => targetClass && Reflect.getMetadata(exports.STEROIDS_META_FIELD, targetClass.prototype, fieldName);
|
|
19
|
+
exports.getFieldOptions = getFieldOptions;
|
|
20
|
+
const getMetaPrimaryKey = (targetClass) => (0, exports.getMetaFields)(targetClass)
|
|
21
|
+
.find(key => (0, exports.getFieldOptions)(targetClass, key).appType === 'primaryKey') || null;
|
|
22
|
+
exports.getMetaPrimaryKey = getMetaPrimaryKey;
|
|
23
|
+
const isMetaClass = (MetaClass) => Reflect.hasMetadata(exports.STEROIDS_META_KEYS, MetaClass.prototype);
|
|
24
|
+
exports.isMetaClass = isMetaClass;
|
|
31
25
|
const getMetaRelations = (MetaClass, parentPrefix = null) => {
|
|
32
|
-
const findRelationsRecursive = (MetaClass, foundClasses, parentPrefix = null) =>
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
allRelationsData.push(relationName);
|
|
45
|
-
return allRelationsData;
|
|
46
|
-
}
|
|
47
|
-
if ((options === null || options === void 0 ? void 0 : options.appType) === 'computable' && (options === null || options === void 0 ? void 0 : options.requiredRelations)) {
|
|
48
|
-
allRelationsData.push(...options.requiredRelations);
|
|
49
|
-
}
|
|
50
|
-
if ((options === null || options === void 0 ? void 0 : options.appType) !== 'computable') {
|
|
51
|
-
allRelationsData.push({
|
|
52
|
-
relationName,
|
|
53
|
-
relationClass: options.relationClass,
|
|
54
|
-
});
|
|
55
|
-
}
|
|
26
|
+
const findRelationsRecursive = (MetaClass, foundClasses, parentPrefix = null) => (0, exports.getMetaFields)(MetaClass)
|
|
27
|
+
.filter(fieldName => {
|
|
28
|
+
const options = (0, exports.getFieldOptions)(MetaClass, fieldName);
|
|
29
|
+
if ((options === null || options === void 0 ? void 0 : options.appType) === 'computable' && (options === null || options === void 0 ? void 0 : options.requiredRelations)) {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
return ['relationId', 'relation'].includes(options === null || options === void 0 ? void 0 : options.appType);
|
|
33
|
+
})
|
|
34
|
+
.reduce((allRelationsData, relationName) => {
|
|
35
|
+
const options = (0, exports.getFieldOptions)(MetaClass, relationName);
|
|
36
|
+
if ((options === null || options === void 0 ? void 0 : options.appType) === 'relationId') {
|
|
37
|
+
allRelationsData.push(relationName);
|
|
56
38
|
return allRelationsData;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
if ((0, exports.isMetaClass)(relationValue)) {
|
|
79
|
-
const subRelationNames = findRelationsRecursive(relationValue, foundClasses, relationData.relationName)
|
|
80
|
-
.map(subRelationName => `${relationData.relationName}.${subRelationName}`);
|
|
81
|
-
allRelations = [...allRelations, ...subRelationNames];
|
|
82
|
-
}
|
|
39
|
+
}
|
|
40
|
+
if ((options === null || options === void 0 ? void 0 : options.appType) === 'computable' && (options === null || options === void 0 ? void 0 : options.requiredRelations)) {
|
|
41
|
+
allRelationsData.push(...options.requiredRelations);
|
|
42
|
+
}
|
|
43
|
+
if ((options === null || options === void 0 ? void 0 : options.appType) !== 'computable') {
|
|
44
|
+
allRelationsData.push({
|
|
45
|
+
relationName,
|
|
46
|
+
relationClass: options.relationClass,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return allRelationsData;
|
|
50
|
+
}, [])
|
|
51
|
+
.reduce((allRelations, relationData) => {
|
|
52
|
+
if ((0, class_validator_1.isString)(relationData)) {
|
|
53
|
+
allRelations.push(relationData);
|
|
54
|
+
return allRelations;
|
|
55
|
+
}
|
|
56
|
+
if (!allRelations.includes(relationData.relationName)) {
|
|
57
|
+
allRelations.push(relationData.relationName);
|
|
58
|
+
}
|
|
59
|
+
if (!relationData.relationClass) {
|
|
83
60
|
return allRelations;
|
|
84
|
-
}
|
|
85
|
-
|
|
61
|
+
}
|
|
62
|
+
const relationValue = relationData.relationClass();
|
|
63
|
+
// Из-за этого кода возвращаются не все реляции в случаях, когда у одного MetaClass'а
|
|
64
|
+
// есть несколько реляций с одним и тем же классом (см. ImageDownloadSchema для примера)
|
|
65
|
+
// @todo нужно исправить этот баг, иначе реализовав кэширование уже обработанных классов
|
|
66
|
+
const key = [relationData.relationName, relationValue.name].join('.');
|
|
67
|
+
if (foundClasses.includes(key)) {
|
|
68
|
+
return allRelations;
|
|
69
|
+
}
|
|
70
|
+
foundClasses.push(key);
|
|
71
|
+
if ((0, exports.isMetaClass)(relationValue)) {
|
|
72
|
+
const subRelationNames = findRelationsRecursive(relationValue, foundClasses, relationData.relationName)
|
|
73
|
+
.map(subRelationName => `${relationData.relationName}.${subRelationName}`);
|
|
74
|
+
allRelations = [...allRelations, ...subRelationNames];
|
|
75
|
+
}
|
|
76
|
+
return allRelations;
|
|
77
|
+
}, []);
|
|
86
78
|
return findRelationsRecursive(MetaClass, []);
|
|
87
79
|
};
|
|
88
80
|
exports.getMetaRelations = getMetaRelations;
|
|
89
|
-
const getRelationsByFilter = (MetaClass, filterCallBack) =>
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
});
|
|
99
|
-
};
|
|
81
|
+
const getRelationsByFilter = (MetaClass, filterCallBack) => (0, exports.getMetaFields)(MetaClass)
|
|
82
|
+
.filter(fieldName => {
|
|
83
|
+
const options = (0, exports.getFieldOptions)(MetaClass, fieldName);
|
|
84
|
+
return ['relation'].includes(options.appType);
|
|
85
|
+
})
|
|
86
|
+
.filter((relationName) => {
|
|
87
|
+
const relationOptions = (0, exports.getFieldOptions)(MetaClass, relationName);
|
|
88
|
+
return filterCallBack(relationOptions);
|
|
89
|
+
});
|
|
100
90
|
exports.getRelationsByFilter = getRelationsByFilter;
|
|
101
|
-
const getFieldDecoratorName = (targetClass, fieldName) =>
|
|
102
|
-
return Reflect.getMetadata(exports.STEROIDS_META_FIELD_DECORATOR, targetClass.prototype, fieldName);
|
|
103
|
-
};
|
|
91
|
+
const getFieldDecoratorName = (targetClass, fieldName) => Reflect.getMetadata(exports.STEROIDS_META_FIELD_DECORATOR, targetClass.prototype, fieldName);
|
|
104
92
|
exports.getFieldDecoratorName = getFieldDecoratorName;
|
|
105
93
|
const getFieldDecorator = (targetClass, fieldName) => {
|
|
106
94
|
const decoratorName = (0, exports.getFieldDecoratorName)(targetClass, fieldName);
|
|
@@ -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,qDAAqD;AAErD,4CAA2D;AAE9C,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,6BAA6B,GAAG,+BAA+B,CAAC;AAChE,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAwChD,MAAM,
|
|
1
|
+
{"version":3,"file":"BaseField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/BaseField.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,25 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BooleanField = exports.normalizeBoolean = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
|
-
const lodash_1 = require("lodash");
|
|
6
|
-
const typeorm_1 = require("@steroidsjs/typeorm");
|
|
7
5
|
const class_validator_1 = require("class-validator");
|
|
8
6
|
const BaseField_1 = require("./BaseField");
|
|
9
7
|
const Transform_1 = require("../Transform");
|
|
10
8
|
const TRUE_VALUES = [true, 1, 'true', '1', 'y', 'yes', 'д', 'да'];
|
|
11
|
-
const normalizeBoolean = (value) =>
|
|
12
|
-
return TRUE_VALUES.includes(value);
|
|
13
|
-
};
|
|
9
|
+
const normalizeBoolean = (value) => TRUE_VALUES.includes(value);
|
|
14
10
|
exports.normalizeBoolean = normalizeBoolean;
|
|
15
11
|
function BooleanField(options = {}) {
|
|
16
12
|
return (0, common_1.applyDecorators)((0, BaseField_1.BaseField)(options, {
|
|
17
13
|
decoratorName: 'BooleanField',
|
|
18
14
|
appType: 'boolean',
|
|
19
15
|
jsType: 'boolean',
|
|
20
|
-
}), (0, typeorm_1.Column)({
|
|
21
|
-
type: options.dbType || 'boolean',
|
|
22
|
-
default: (0, lodash_1.has)(options, 'defaultValue') ? options.defaultValue : false,
|
|
23
|
-
nullable: (0, lodash_1.has)(options, 'nullable') ? options.nullable : false,
|
|
24
16
|
}), (0, Transform_1.Transform)(({ value }) => {
|
|
25
17
|
if (Array.isArray(value)) {
|
|
26
18
|
return value.map(exports.normalizeBoolean);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/BooleanField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"BooleanField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/BooleanField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qDAAsD;AACtD,2CAAyD;AACzD,4CAAuC;AAEvC,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAE3D,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAA1D,QAAA,gBAAgB,oBAA0C;AAEvE,SAAgB,YAAY,CAAC,UAA6B,EAAE;IACxD,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,cAAc;QAC7B,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,SAAS;KACpB,CAAC,EACF,IAAA,qBAAS,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;QAClB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACtB,OAAO,KAAK,CAAC,GAAG,CAAC,wBAAgB,CAAC,CAAC;SACtC;QACD,OAAO,IAAA,wBAAgB,EAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC,EACF,IAAA,2BAAS,EAAC;QACN,OAAO,EAAE,qBAAqB;KACjC,CAAC,EACF,IAAA,4BAAU,GAAE,CACf,CAAC;AACN,CAAC;AAlBD,oCAkBC"}
|
|
@@ -11,7 +11,7 @@ function ComputableField(options) {
|
|
|
11
11
|
appType: 'computable',
|
|
12
12
|
jsType: options.jsType,
|
|
13
13
|
}),
|
|
14
|
-
(0, Computable_1.Computable)(options.callback)
|
|
14
|
+
(0, Computable_1.Computable)(options.callback),
|
|
15
15
|
].filter(Boolean));
|
|
16
16
|
}
|
|
17
17
|
exports.ComputableField = ComputableField;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComputableField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/ComputableField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,2CAAwE;AACxE,8CAA8D;AAQ9D,SAAgB,eAAe,CAAC,OAAgC;
|
|
1
|
+
{"version":3,"file":"ComputableField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/ComputableField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,2CAAwE;AACxE,8CAA8D;AAQ9D,SAAgB,eAAe,CAAC,OAAgC;IAC5D,OAAO,IAAA,wBAAe,EAClB,GAAG;QACC,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,iBAAiB;YAChC,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC;QACF,IAAA,uBAAU,EAAC,OAAO,CAAC,QAAQ,CAAC;KAC/B,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAXD,0CAWC"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CoordinateField = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
|
-
const typeorm_1 = require("@steroidsjs/typeorm");
|
|
6
5
|
const class_validator_1 = require("class-validator");
|
|
7
6
|
const BaseField_1 = require("./BaseField");
|
|
8
7
|
function CoordinateField(options = {}) {
|
|
@@ -12,13 +11,6 @@ function CoordinateField(options = {}) {
|
|
|
12
11
|
appType: 'decimal',
|
|
13
12
|
jsType: 'number',
|
|
14
13
|
}),
|
|
15
|
-
(0, typeorm_1.Column)({
|
|
16
|
-
type: 'decimal',
|
|
17
|
-
default: options.defaultValue,
|
|
18
|
-
nullable: options.nullable,
|
|
19
|
-
precision: options.precision || 12,
|
|
20
|
-
scale: options.scale || 9,
|
|
21
|
-
}),
|
|
22
14
|
options.nullable && (0, class_validator_1.ValidateIf)((object, value) => value !== null),
|
|
23
15
|
(0, class_validator_1.IsString)(),
|
|
24
16
|
].filter(Boolean));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoordinateField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/CoordinateField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"CoordinateField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/CoordinateField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qDAAqD;AACrD,2CAAyD;AAOzD,SAAgB,eAAe,CAAC,UAAmC,EAAE;IACjE,OAAO,IAAA,wBAAe,EAClB,GAAG;QACC,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,iBAAiB;YAChC,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;QACjE,IAAA,0BAAQ,GAAE;KACb,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAZD,0CAYC"}
|
|
@@ -2,26 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CreateTimeField = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
|
-
const lodash_1 = require("lodash");
|
|
6
|
-
const typeorm_1 = require("@steroidsjs/typeorm");
|
|
7
|
-
const EventListenerTypes_1 = require("@steroidsjs/typeorm/metadata/types/EventListenerTypes");
|
|
8
5
|
const BaseField_1 = require("./BaseField");
|
|
9
6
|
const DateTimeField_1 = require("./DateTimeField");
|
|
10
7
|
const Transform_1 = require("../Transform");
|
|
11
|
-
const CreateTimeBehaviour = (object, propertyName) => {
|
|
12
|
-
const methodName = propertyName + '__createTimeBehaviour';
|
|
13
|
-
if (!object[methodName]) {
|
|
14
|
-
// eslint-disable-next-line func-names
|
|
15
|
-
object[methodName] = function () {
|
|
16
|
-
this[propertyName] = (0, DateTimeField_1.normalizeDateTime)(new Date(), false);
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
(0, typeorm_1.getMetadataArgsStorage)().entityListeners.push({
|
|
20
|
-
target: object.constructor,
|
|
21
|
-
propertyName: methodName,
|
|
22
|
-
type: EventListenerTypes_1.EventListenerTypes.BEFORE_INSERT,
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
8
|
function CreateTimeField(options = {}) {
|
|
26
9
|
if (!options.label) {
|
|
27
10
|
options.label = 'Создан';
|
|
@@ -30,12 +13,7 @@ function CreateTimeField(options = {}) {
|
|
|
30
13
|
decoratorName: 'CreateTimeField',
|
|
31
14
|
appType: 'createTime',
|
|
32
15
|
jsType: 'string',
|
|
33
|
-
}), (0,
|
|
34
|
-
type: 'timestamp',
|
|
35
|
-
precision: (0, lodash_1.has)(options, 'precision') ? options.precision : 0,
|
|
36
|
-
default: (0, lodash_1.has)(options, 'defaultValue') ? options.defaultValue : undefined,
|
|
37
|
-
nullable: (0, lodash_1.has)(options, 'nullable') ? options.nullable : false,
|
|
38
|
-
}), (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);
|
|
16
|
+
}), (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));
|
|
39
17
|
}
|
|
40
18
|
exports.CreateTimeField = CreateTimeField;
|
|
41
19
|
//# 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,
|
|
1
|
+
{"version":3,"file":"CreateTimeField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/CreateTimeField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,2CAAyD;AACzD,mDAAkD;AAClD,4CAAqF;AAMrF,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,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,CAChF,CAAC;AACN,CAAC;AAdD,0CAcC"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DateField = exports.normalizeFunctionDate = exports.normalizeDate = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
|
-
const typeorm_1 = require("@steroidsjs/typeorm");
|
|
6
5
|
const class_validator_1 = require("class-validator");
|
|
7
6
|
const date_fns_1 = require("date-fns");
|
|
8
7
|
const BaseField_1 = require("./BaseField");
|
|
@@ -39,11 +38,6 @@ function DateField(options = {}) {
|
|
|
39
38
|
appType: 'date',
|
|
40
39
|
jsType: 'string',
|
|
41
40
|
}),
|
|
42
|
-
(0, typeorm_1.Column)({
|
|
43
|
-
type: 'date',
|
|
44
|
-
default: options.defaultValue,
|
|
45
|
-
nullable: options.nullable,
|
|
46
|
-
}),
|
|
47
41
|
(0, Transform_1.Transform)(({ value }) => (0, exports.normalizeDate)(value), Transform_1.TRANSFORM_TYPE_FROM_DB),
|
|
48
42
|
(0, Transform_1.Transform)(({ value }) => (0, exports.normalizeDate)(value), Transform_1.TRANSFORM_TYPE_TO_DB),
|
|
49
43
|
options.nullable && (0, class_validator_1.ValidateIf)((object, value) => value),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/DateField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"DateField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/DateField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qDAA2E;AAC3E,uCAAiD;AACjD,2CAAyD;AACzD,4CAAqF;AACrF,mDAA8C;AAC9C,mDAA8C;AAEvC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,EAAE;IACtC,IAAI,CAAC,QAAQ,EAAE;QACX,OAAO,QAAQ,CAAC;KACnB;IAED,IAAI,KAAK,GAAG,QAAQ,CAAC;IACrB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,KAAK,GAAG,IAAA,mBAAQ,EAAC,QAAQ,CAAC,CAAC;KAC9B;IAED,IAAI;QACA,OAAO,IAAA,wBAAa,EAAC,KAAK,EAAE,EAAC,cAAc,EAAE,MAAM,EAAC,CAAC,CAAC;KACzD;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,IAAI,CAAC;KACf;AACL,CAAC,CAAC;AAfW,QAAA,aAAa,iBAexB;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,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,EAAE,EAAE;YACV,OAAO,EAAE,0BAA0B;SACtC,CAAC;KACL,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAxBD,8BAwBC"}
|
|
@@ -2,20 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DateTimeField = exports.normalizeDateTime = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
|
-
const lodash_1 = require("lodash");
|
|
6
|
-
const typeorm_1 = require("@steroidsjs/typeorm");
|
|
7
5
|
//import {IsDateString, ValidateIf} from 'class-validator';
|
|
8
6
|
const class_transformer_1 = require("class-transformer");
|
|
9
|
-
const BaseField_1 = require("./BaseField");
|
|
10
7
|
const date_fns_1 = require("date-fns");
|
|
8
|
+
const BaseField_1 = require("./BaseField");
|
|
11
9
|
const Transform_1 = require("../Transform");
|
|
12
|
-
const normalizeDateTime = (value, skipSeconds = true) =>
|
|
13
|
-
|
|
14
|
-
? (0, date_fns_1.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
: value;
|
|
18
|
-
};
|
|
10
|
+
const normalizeDateTime = (value, skipSeconds = true) => value
|
|
11
|
+
? (0, date_fns_1.format)(typeof value === 'string'
|
|
12
|
+
? (0, date_fns_1.parseISO)(value)
|
|
13
|
+
: value, 'yyyy-MM-dd HH:mm' + (!skipSeconds ? ':ss' : ''))
|
|
14
|
+
: value;
|
|
19
15
|
exports.normalizeDateTime = normalizeDateTime;
|
|
20
16
|
function DateTimeField(options = {}) {
|
|
21
17
|
return (0, common_1.applyDecorators)(...[
|
|
@@ -24,12 +20,6 @@ function DateTimeField(options = {}) {
|
|
|
24
20
|
appType: 'dateTime',
|
|
25
21
|
jsType: 'string',
|
|
26
22
|
}),
|
|
27
|
-
(0, typeorm_1.Column)({
|
|
28
|
-
type: 'timestamp',
|
|
29
|
-
precision: (0, lodash_1.has)(options, 'precision') ? options.precision : 0,
|
|
30
|
-
default: options.defaultValue,
|
|
31
|
-
nullable: options.nullable,
|
|
32
|
-
}),
|
|
33
23
|
// options.nullable && ValidateIf((object, value) => value !== null && typeof value !== 'undefined'),
|
|
34
24
|
// IsDateString({
|
|
35
25
|
// message: 'Некорректный формат даты',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/DateTimeField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"DateTimeField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/DateTimeField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,2DAA2D;AAC3D,yDAAuC;AACvC,uCAA0C;AAC1C,2CAAyD;AACzD,4CAAqF;AAE9E,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK;IACjE,CAAC,CAAC,IAAA,iBAAM,EACJ,OAAO,KAAK,KAAK,QAAQ;QACrB,CAAC,CAAC,IAAA,mBAAQ,EAAC,KAAK,CAAC;QACjB,CAAC,CAAC,KAAK,EACX,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CACnD;IACD,CAAC,CAAC,KAAK,CAAC;AAPC,QAAA,iBAAiB,qBAOlB;AAOZ,SAAgB,aAAa,CAAC,UAAuC,EAAE;IACnE,OAAO,IAAA,wBAAe,EAClB,GAAG;QACC,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,eAAe;YAC9B,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,qGAAqG;QACrG,iBAAiB;QACjB,2CAA2C;QAC3C,MAAM;QACN,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAChB,IAAA,qBAAS,EACL,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,IAAA,yBAAiB,EAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,EAC1D,kCAAsB,CACzB;QACD,IAAA,qBAAS,EACL,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,IAAA,yBAAiB,EAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,EAC1D,gCAAoB,CACvB;KACJ,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAvBD,sCAuBC"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DecimalField = exports.MAX_STRING_AS_NUMBER = exports.MIN_STRING_AS_NUMBER = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
|
-
const typeorm_1 = require("@steroidsjs/typeorm");
|
|
6
5
|
const class_validator_1 = require("class-validator");
|
|
7
6
|
const BaseField_1 = require("./BaseField");
|
|
8
7
|
exports.MIN_STRING_AS_NUMBER = 'minStringAsNumber';
|
|
@@ -35,13 +34,6 @@ function DecimalField(options = {}) {
|
|
|
35
34
|
appType: 'decimal',
|
|
36
35
|
jsType: 'number',
|
|
37
36
|
}),
|
|
38
|
-
(0, typeorm_1.Column)({
|
|
39
|
-
type: 'decimal',
|
|
40
|
-
default: options.defaultValue,
|
|
41
|
-
nullable: options.nullable,
|
|
42
|
-
precision: options.precision || 10,
|
|
43
|
-
scale: options.scale || 2,
|
|
44
|
-
}),
|
|
45
37
|
options.nullable && (0, class_validator_1.ValidateIf)((object, value) => value !== null && typeof value !== 'undefined'),
|
|
46
38
|
(0, class_validator_1.IsDecimal)({
|
|
47
39
|
decimal_digits: String(options.scale || 2),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecimalField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/DecimalField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"DecimalField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/DecimalField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qDAAqF;AACrF,2CAAyD;AAU5C,QAAA,oBAAoB,GAAG,mBAAmB,CAAC;AAE3C,QAAA,oBAAoB,GAAG,mBAAmB,CAAC;AAExD,SAAS,aAAa,CAClB,UAAkB,EAClB,gBAA6D,EAC7D,iBAAqC;IAErC,OAAO,IAAA,4BAAU,EACb;QACI,IAAI,EAAE,4BAAoB;QAC1B,WAAW,EAAE,CAAC,UAAU,CAAC;QACzB,SAAS,EAAE;YACP,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAW,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAC,CAAC,CAAC,CAAC;SACpF;KACJ,EACD,iBAAiB,CACpB,CAAC;AACN,CAAC;AAED,SAAS,SAAS,CAAC,GAAY,EAAE,GAAW;IACxC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AACpF,CAAC;AAED,SAAS,SAAS,CAAC,QAAgB,EAAE,iBAAqC;IACtE,OAAO,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,SAAS,CAAC,GAAY,EAAE,GAAW;IACxC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AACpF,CAAC;AAED,SAAS,SAAS,CAAC,QAAgB,EAAE,iBAAqC;IACtE,OAAO,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;AACjE,CAAC;AAED,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,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,2BAAS,EAAC;YACN,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;SAC7C,EAAE;YACC,OAAO,EAAE,OAAO,CAAC,0BAA0B,IAAI,oBAAoB;SACtE,CAAC;QACF,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;YACtD,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,OAAO,EAAE,OAAO,CAAC,2BAA2B,IAAI,yBAAyB,OAAO,CAAC,GAAG,EAAE;SACzF,CAAC;QACF,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;YACtD,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,OAAO,EAAE,OAAO,CAAC,2BAA2B,IAAI,yBAAyB,OAAO,CAAC,GAAG,EAAE;SACzF,CAAC;KACL,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACvB,CAAC;AAtBD,oCAsBC"}
|