@steroidsjs/nest 1.4.2 → 1.4.3
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/TableFromModel.d.ts +2 -0
- package/src/infrastructure/decorators/TableFromModel.js +15 -2
- package/src/infrastructure/decorators/TableFromModel.js.map +1 -1
- package/src/infrastructure/decorators/fields/BaseField.d.ts +1 -0
- package/src/infrastructure/decorators/fields/BaseField.js.map +1 -1
- package/src/infrastructure/decorators/fields/RelationIdField.js +3 -0
- package/src/infrastructure/decorators/fields/RelationIdField.js.map +1 -1
- package/src/infrastructure/helpers/ModuleHelper.d.ts +5 -0
- package/src/infrastructure/helpers/ModuleHelper.js +19 -0
- package/src/infrastructure/helpers/ModuleHelper.js.map +1 -1
- package/src/infrastructure/repositories/CrudRepository.d.ts +3 -1
- package/src/infrastructure/repositories/CrudRepository.js +6 -1
- package/src/infrastructure/repositories/CrudRepository.js.map +1 -1
- package/src/usecases/helpers/DataMapper.d.ts +1 -1
- package/src/usecases/helpers/DataMapper.js +8 -3
- package/src/usecases/helpers/DataMapper.js.map +1 -1
- package/src/usecases/interfaces/IValidator.d.ts +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/package.json
CHANGED
|
@@ -3,5 +3,7 @@ export interface ITableOptions {
|
|
|
3
3
|
label?: string;
|
|
4
4
|
modelClass?: any;
|
|
5
5
|
}
|
|
6
|
+
export declare const setModelBuilder: (ModelClass: any, builderHandler: any) => void;
|
|
6
7
|
export declare const getTableFromModel: (ModelClass: any) => any;
|
|
8
|
+
export declare const getModelBuilder: (ModelClass: any) => any;
|
|
7
9
|
export declare function TableFromModel(ModelClass: any, tableName: any): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
@@ -1,21 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TableFromModel = exports.getTableFromModel = void 0;
|
|
3
|
+
exports.TableFromModel = exports.getModelBuilder = exports.getTableFromModel = exports.setModelBuilder = void 0;
|
|
4
4
|
const typeorm_1 = require("typeorm");
|
|
5
5
|
const ExtendField_1 = require("./fields/ExtendField");
|
|
6
6
|
const common_1 = require("@nestjs/common");
|
|
7
7
|
const BaseField_1 = require("./fields/BaseField");
|
|
8
8
|
const modelToTableMap = {};
|
|
9
|
+
const modelBuildersMap = {};
|
|
10
|
+
const setModelBuilder = (ModelClass, builderHandler) => {
|
|
11
|
+
if (modelBuildersMap[ModelClass.name]) {
|
|
12
|
+
throw new Error('Model "' + ModelClass.name + '" already has builder');
|
|
13
|
+
}
|
|
14
|
+
modelBuildersMap[ModelClass.name] = builderHandler;
|
|
15
|
+
};
|
|
16
|
+
exports.setModelBuilder = setModelBuilder;
|
|
9
17
|
const getTableFromModel = (ModelClass) => {
|
|
10
18
|
return modelToTableMap[ModelClass.name] || null;
|
|
11
19
|
};
|
|
12
20
|
exports.getTableFromModel = getTableFromModel;
|
|
21
|
+
const getModelBuilder = (ModelClass) => {
|
|
22
|
+
return modelBuildersMap[ModelClass.name] || null;
|
|
23
|
+
};
|
|
24
|
+
exports.getModelBuilder = getModelBuilder;
|
|
13
25
|
function TableFromModelInternal(ModelClass) {
|
|
14
26
|
return (target) => {
|
|
15
27
|
modelToTableMap[ModelClass.name] = target;
|
|
16
28
|
(0, BaseField_1.getMetaFields)(ModelClass).forEach(field => {
|
|
29
|
+
const options = (0, BaseField_1.getFieldOptions)(ModelClass, field);
|
|
17
30
|
const isTableColumn = !!(0, BaseField_1.getFieldDecoratorName)(ModelClass, field);
|
|
18
|
-
if (isTableColumn) {
|
|
31
|
+
if (isTableColumn && options && !options.noColumn) {
|
|
19
32
|
(0, ExtendField_1.ExtendField)(ModelClass)(target.prototype, field);
|
|
20
33
|
}
|
|
21
34
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableFromModel.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/TableFromModel.ts"],"names":[],"mappings":";;;AAAA,qCAA+B;AAC/B,sDAAiD;AACjD,2CAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"TableFromModel.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/TableFromModel.ts"],"names":[],"mappings":";;;AAAA,qCAA+B;AAC/B,sDAAiD;AACjD,2CAA+C;AAC/C,kDAAyF;AAQzF,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAErB,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,EAAE;IAC1D,IAAI,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACnC,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,CAAA;AALY,QAAA,eAAe,mBAK3B;AAEM,MAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,EAAE;IAC5C,OAAO,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACpD,CAAC,CAAA;AAFY,QAAA,iBAAiB,qBAE7B;AAEM,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,EAAE;IAC1C,OAAO,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACrD,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B;AAED,SAAS,sBAAsB,CAAC,UAAU;IACtC,OAAO,CAAC,MAAM,EAAE,EAAE;QACd,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QAE1C,IAAA,yBAAa,EAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAItC,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACnD,MAAM,aAAa,GAAG,CAAC,CAAC,IAAA,iCAAqB,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACjE,IAAI,aAAa,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBAC/C,IAAA,yBAAW,EAAC,UAAU,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;aACpD;QACL,CAAC,CAAC,CAAC;IAEP,CAAC,CAAC;AACN,CAAC;AAED,SAAgB,cAAc,CAAC,UAAU,EAAE,SAAS;IAChD,OAAO,IAAA,wBAAe,EAClB,IAAA,gBAAM,EAAC,SAAS,CAAC,EACjB,sBAAsB,CAAC,UAAU,CAAC,CACrC,CAAC;AACN,CAAC;AALD,wCAKC"}
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"BaseField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/BaseField.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,9 @@ const relationTransformFromDb = ({ value, item, options, transformType }) => {
|
|
|
21
21
|
return value;
|
|
22
22
|
}
|
|
23
23
|
const relationOptions = (0, BaseField_1.getFieldOptions)(item.constructor, options.relationName);
|
|
24
|
+
if (!relationOptions) {
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
24
27
|
const TableClass = (0, TableFromModel_1.getTableFromModel)(relationOptions.relationClass());
|
|
25
28
|
const relationValue = item[options.relationName];
|
|
26
29
|
return relationTransformFromDbInternal(TableClass, relationValue, relationOptions.isArray, transformType);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelationIdField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/RelationIdField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,2CAA6F;AAC7F,sDAAoD;AACpD,4CAAqF;AACrF,qCAA+B;AAO/B,MAAM,+BAA+B,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE;IAClF,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,+BAA+B,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;KACrG;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,MAAM,UAAU,GAAG,IAAA,6BAAiB,EAAC,UAAU,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;KAC5B;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AACM,MAAM,uBAAuB,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAC,EAAE,EAAE;IAC7E,IAAI,KAAK,EAAE;QACP,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,eAAe,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,IAAA,kCAAiB,EAAC,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEjD,OAAO,+BAA+B,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC9G,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"RelationIdField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/RelationIdField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,2CAA6F;AAC7F,sDAAoD;AACpD,4CAAqF;AACrF,qCAA+B;AAO/B,MAAM,+BAA+B,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE;IAClF,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,+BAA+B,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;KACrG;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,MAAM,UAAU,GAAG,IAAA,6BAAiB,EAAC,UAAU,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;KAC5B;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AACM,MAAM,uBAAuB,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAC,EAAE,EAAE;IAC7E,IAAI,KAAK,EAAE;QACP,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,eAAe,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAChF,IAAI,CAAC,eAAe,EAAE;QAClB,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,UAAU,GAAG,IAAA,kCAAiB,EAAC,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEjD,OAAO,+BAA+B,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC9G,CAAC,CAAA;AAdY,QAAA,uBAAuB,2BAcnC;AAEM,MAAM,qBAAqB,GAAG,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;IAE7C,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AAHY,QAAA,qBAAqB,yBAGjC;AAEM,MAAM,iBAAiB,GAAG,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;IACzC,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AAFY,QAAA,iBAAiB,qBAE7B;AAED,SAAgB,eAAe,CAAC,UAAmC,EAAE;IACjE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;QACpB,OAAO,CAAC,SAAS,GAAG,yBAAiB,CAAC;KACzC;IAED,OAAO,IAAA,wBAAe,EAClB,GAAG;QACC,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,iBAAiB;YAChC,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,CAAC,OAAO,CAAC,OAAO,IAAI,IAAA,gBAAM,EAAC,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;QACzD,IAAA,qBAAS,EAAC,+BAAuB,EAAE,kCAAsB,CAAC;QAC1D,IAAA,qBAAS,EAAC,6BAAqB,EAAE,gCAAoB,CAAC;KACzD,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAjBD,0CAiBC"}
|
|
@@ -20,6 +20,25 @@ class ModuleHelper {
|
|
|
20
20
|
})
|
|
21
21
|
.filter(Boolean);
|
|
22
22
|
}
|
|
23
|
+
static provide(Type, inject) {
|
|
24
|
+
return {
|
|
25
|
+
inject: inject.reduce((arr, item) => arr.concat(item), []),
|
|
26
|
+
provide: Type,
|
|
27
|
+
useFactory: (...args) => {
|
|
28
|
+
const instances = [];
|
|
29
|
+
let index = 0;
|
|
30
|
+
inject.forEach(() => {
|
|
31
|
+
if (Array.isArray(inject[index])) {
|
|
32
|
+
instances.push(inject[index].map(() => args[index++]));
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
instances.push(args[index++]);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
return new Type(...instances);
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
23
42
|
}
|
|
24
43
|
exports.ModuleHelper = ModuleHelper;
|
|
25
44
|
//# sourceMappingURL=ModuleHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleHelper.js","sourceRoot":"","sources":["../../../../src/infrastructure/helpers/ModuleHelper.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,yBAAyB;AAEzB,MAAa,YAAY;IACrB,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE;QAC7B,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAE1B,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;aACrB,GAAG,CAAC,QAAQ,CAAC,EAAE;YACZ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC3D,OAAO,IAAI,CAAC;aACf;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAChD,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;gBACd,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;aACvB;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"ModuleHelper.js","sourceRoot":"","sources":["../../../../src/infrastructure/helpers/ModuleHelper.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,yBAAyB;AAEzB,MAAa,YAAY;IACrB,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE;QAC7B,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAE1B,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;aACrB,GAAG,CAAC,QAAQ,CAAC,EAAE;YACZ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC3D,OAAO,IAAI,CAAC;aACf;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAChD,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;gBACd,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;aACvB;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAa;QAC9B,OAAO;YACH,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YAC1D,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;gBACpB,MAAM,SAAS,GAAG,EAAE,CAAC;gBACrB,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;oBAChB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;wBAC9B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;qBAC1D;yBAAM;wBACH,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;qBACjC;gBACL,CAAC,CAAC,CAAC;gBAEH,OAAO,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,CAAA;YACjC,CAAC;SACJ,CAAC;IACN,CAAC;CACJ;AAxCD,oCAwCC"}
|
|
@@ -6,10 +6,12 @@ import SearchQuery from '../../usecases/base/SearchQuery';
|
|
|
6
6
|
import { SelectQueryBuilder } from 'typeorm/query-builder/SelectQueryBuilder';
|
|
7
7
|
import { ICondition } from '../../usecases/helpers/ConditionHelper';
|
|
8
8
|
import { ISaveManager } from '../../usecases/interfaces/ISaveManager';
|
|
9
|
-
|
|
9
|
+
import { OnModuleInit } from '@nestjs/common';
|
|
10
|
+
export declare class CrudRepository<TModel> implements ICrudRepository<TModel>, OnModuleInit {
|
|
10
11
|
primaryKey: string;
|
|
11
12
|
dbRepository: Repository<any>;
|
|
12
13
|
protected modelClass: any;
|
|
14
|
+
onModuleInit(): void;
|
|
13
15
|
init(dbRepository: Repository<any>, modelClass: any): void;
|
|
14
16
|
search(dto: SearchInputDto, searchQuery: SearchQuery): Promise<SearchResultDto<TModel>>;
|
|
15
17
|
createQuery(): SearchQuery;
|
|
@@ -10,6 +10,11 @@ class CrudRepository {
|
|
|
10
10
|
constructor() {
|
|
11
11
|
this.primaryKey = 'id';
|
|
12
12
|
}
|
|
13
|
+
onModuleInit() {
|
|
14
|
+
if (this.modelClass) {
|
|
15
|
+
(0, TableFromModel_1.setModelBuilder)(this.modelClass, this.entityToModel.bind(this));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
13
18
|
init(dbRepository, modelClass) {
|
|
14
19
|
this.dbRepository = dbRepository;
|
|
15
20
|
this.modelClass = modelClass;
|
|
@@ -93,7 +98,7 @@ class CrudRepository {
|
|
|
93
98
|
if (!this.modelClass) {
|
|
94
99
|
throw new Error('Property modelClass is not set in repository: ' + this.constructor.name);
|
|
95
100
|
}
|
|
96
|
-
return DataMapper_1.DataMapper.create(this.modelClass, obj, Transform_1.TRANSFORM_TYPE_FROM_DB);
|
|
101
|
+
return DataMapper_1.DataMapper.create(this.modelClass, obj, Transform_1.TRANSFORM_TYPE_FROM_DB, true);
|
|
97
102
|
}
|
|
98
103
|
}
|
|
99
104
|
exports.CrudRepository = CrudRepository;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrudRepository.js","sourceRoot":"","sources":["../../../../src/infrastructure/repositories/CrudRepository.ts"],"names":[],"mappings":";;;AACA,sEAAiE;AAIjE,iEAA0D;AAC1D,kEAA6D;AAI7D,
|
|
1
|
+
{"version":3,"file":"CrudRepository.js","sourceRoot":"","sources":["../../../../src/infrastructure/repositories/CrudRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ITransformType } from '../../infrastructure/decorators/Transform';
|
|
2
2
|
export declare class DataMapper {
|
|
3
|
-
static create<T>(MetaClass: any, values: Partial<T>, transformType?: ITransformType): any;
|
|
3
|
+
static create<T>(MetaClass: any, values: Partial<T>, transformType?: ITransformType, skipBuilder?: boolean): any;
|
|
4
4
|
static applyValues(object: any, values: any, transformType?: ITransformType): void;
|
|
5
5
|
static exportModels(types: any[]): {};
|
|
6
6
|
static exportEnums(types: any[]): {};
|
|
@@ -6,11 +6,16 @@ const lodash_2 = require("lodash");
|
|
|
6
6
|
const BaseField_1 = require("../../infrastructure/decorators/fields/BaseField");
|
|
7
7
|
const constants_1 = require("@nestjs/swagger/dist/constants");
|
|
8
8
|
const Transform_1 = require("../../infrastructure/decorators/Transform");
|
|
9
|
+
const TableFromModel_1 = require("../../infrastructure/decorators/TableFromModel");
|
|
9
10
|
class DataMapper {
|
|
10
|
-
static create(MetaClass, values, transformType = Transform_1.TRANSFORM_TYPE_DEFAULT) {
|
|
11
|
+
static create(MetaClass, values, transformType = Transform_1.TRANSFORM_TYPE_DEFAULT, skipBuilder = false) {
|
|
11
12
|
if (values === null) {
|
|
12
13
|
return null;
|
|
13
14
|
}
|
|
15
|
+
const builder = !skipBuilder && (0, TableFromModel_1.getModelBuilder)(MetaClass);
|
|
16
|
+
if (builder) {
|
|
17
|
+
return builder(values);
|
|
18
|
+
}
|
|
14
19
|
const result = new MetaClass();
|
|
15
20
|
if (result['updateFromModel'] && typeof result['updateFromModel'] === 'function' && values) {
|
|
16
21
|
result['updateFromModel'](values);
|
|
@@ -32,10 +37,10 @@ class DataMapper {
|
|
|
32
37
|
if ((options === null || options === void 0 ? void 0 : options.appType) === 'relation') {
|
|
33
38
|
if (options.isArray && Array.isArray(values[sourceName])) {
|
|
34
39
|
object[name] = values[sourceName]
|
|
35
|
-
.map(item => DataMapper.create(options.relationClass(), item));
|
|
40
|
+
.map(item => DataMapper.create(options.relationClass(), item, transformType));
|
|
36
41
|
}
|
|
37
42
|
else if ((0, lodash_2.isObject)(values[sourceName])) {
|
|
38
|
-
object[name] = DataMapper.create(options.relationClass(), values[sourceName]);
|
|
43
|
+
object[name] = DataMapper.create(options.relationClass(), values[sourceName], transformType);
|
|
39
44
|
}
|
|
40
45
|
else {
|
|
41
46
|
object[name] = values[sourceName];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataMapper.js","sourceRoot":"","sources":["../../../../src/usecases/helpers/DataMapper.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACnC,mCAA6C;AAC7C,gFAA6G;AAE7G,8DAA0D;AAC1D,yEAKmD;
|
|
1
|
+
{"version":3,"file":"DataMapper.js","sourceRoot":"","sources":["../../../../src/usecases/helpers/DataMapper.ts"],"names":[],"mappings":"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"}
|