@steroidsjs/nest 1.1.7 → 1.1.11
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/decorators/ApiOkSearchResponse.d.ts +5 -1
- package/infrastructure/decorators/ApiOkSearchResponse.js +2 -1
- package/infrastructure/decorators/ApiOkSearchResponse.js.map +1 -1
- package/infrastructure/decorators/TableFromModel.js +2 -3
- package/infrastructure/decorators/TableFromModel.js.map +1 -1
- package/infrastructure/decorators/fields/BaseField.d.ts +4 -1
- package/infrastructure/decorators/fields/BaseField.js +17 -1
- package/infrastructure/decorators/fields/BaseField.js.map +1 -1
- package/infrastructure/decorators/fields/ExtendField.js.map +1 -1
- package/infrastructure/repositories/CrudRepository.js +28 -24
- package/infrastructure/repositories/CrudRepository.js.map +1 -1
- package/package.json +3 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/usecases/base/SearchQuery.d.ts +1 -1
- package/usecases/base/SearchQuery.js +16 -30
- package/usecases/base/SearchQuery.js.map +1 -1
- package/usecases/helpers/DataMapperHelper.d.ts +1 -2
- package/usecases/helpers/DataMapperHelper.js +42 -16
- package/usecases/helpers/DataMapperHelper.js.map +1 -1
- package/usecases/services/CrudService.js +1 -1
- package/usecases/services/CrudService.js.map +1 -1
- package/infrastructure/decorators/schema/ExtractRelationId.d.ts +0 -2
- package/infrastructure/decorators/schema/ExtractRelationId.js +0 -11
- package/infrastructure/decorators/schema/ExtractRelationId.js.map +0 -1
|
@@ -9,7 +9,7 @@ export interface IQueryRelation {
|
|
|
9
9
|
export default class SearchQuery {
|
|
10
10
|
select?: string[];
|
|
11
11
|
excludeSelect?: string[];
|
|
12
|
-
relations?:
|
|
12
|
+
relations?: string[];
|
|
13
13
|
condition?: ICondition;
|
|
14
14
|
static createFromSchema(SchemaClass: any): SearchQuery;
|
|
15
15
|
static prepare(dbRepository: Repository<any>, dbQuery: SelectQueryBuilder<any>, searchQuery: SearchQuery): void;
|
|
@@ -2,38 +2,20 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const SchemaSelect_1 = require("../../infrastructure/decorators/schema/SchemaSelect");
|
|
4
4
|
const BaseField_1 = require("../../infrastructure/decorators/fields/BaseField");
|
|
5
|
-
const DataMapperHelper_1 = require("../helpers/DataMapperHelper");
|
|
6
5
|
const ConditionHelper_1 = require("../helpers/ConditionHelper");
|
|
7
6
|
class SearchQuery {
|
|
8
7
|
static createFromSchema(SchemaClass) {
|
|
9
8
|
const searchQuery = new SearchQuery();
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
if (modelMeta.appType === 'relation') {
|
|
15
|
-
if (/Ids?$/.exec(fieldName)) {
|
|
16
|
-
relations.push({
|
|
17
|
-
isId: true,
|
|
18
|
-
name: fieldName.replace(/Ids?$/, ''),
|
|
19
|
-
alias: fieldName,
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
relations.push({
|
|
24
|
-
name: fieldName,
|
|
25
|
-
alias: fieldName,
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
if (relations.length > 0) {
|
|
31
|
-
searchQuery.relations = relations;
|
|
32
|
-
}
|
|
9
|
+
const options = (0, SchemaSelect_1.getSchemaSelectOptions)(SchemaClass);
|
|
10
|
+
searchQuery.select = options === null || options === void 0 ? void 0 : options.search;
|
|
11
|
+
searchQuery.excludeSelect = options === null || options === void 0 ? void 0 : options.excludeSelect;
|
|
12
|
+
searchQuery.relations = (0, BaseField_1.getMetaRelations)(SchemaClass);
|
|
33
13
|
return searchQuery;
|
|
34
14
|
}
|
|
35
15
|
static prepare(dbRepository, dbQuery, searchQuery) {
|
|
36
|
-
|
|
16
|
+
var _a;
|
|
17
|
+
const prefix = ((_a = dbQuery.expressionMap) === null || _a === void 0 ? void 0 : _a.mainAlias) ? dbQuery.expressionMap.mainAlias.name + '.' : '';
|
|
18
|
+
const table = dbRepository.target;
|
|
37
19
|
let select = searchQuery.select;
|
|
38
20
|
if (searchQuery.excludeSelect) {
|
|
39
21
|
select = dbRepository.metadata.columns
|
|
@@ -44,11 +26,15 @@ class SearchQuery {
|
|
|
44
26
|
dbQuery.select(select.map(name => prefix + name));
|
|
45
27
|
}
|
|
46
28
|
(searchQuery.relations || []).forEach(relation => {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
29
|
+
const options = (0, BaseField_1.getFieldOptions)(table, relation);
|
|
30
|
+
switch (options.appType) {
|
|
31
|
+
case 'relationId':
|
|
32
|
+
const relationIdOptions = options;
|
|
33
|
+
dbQuery.loadRelationIdAndMap(prefix + relation, prefix + relationIdOptions.relationName);
|
|
34
|
+
break;
|
|
35
|
+
case 'relation':
|
|
36
|
+
dbQuery.leftJoinAndSelect(prefix + relation, prefix + relation);
|
|
37
|
+
break;
|
|
52
38
|
}
|
|
53
39
|
});
|
|
54
40
|
if (searchQuery.condition) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchQuery.js","sourceRoot":"","sources":["../../../src/usecases/base/SearchQuery.ts"],"names":[],"mappings":";;AAGA,sFAA2F;AAC3F,
|
|
1
|
+
{"version":3,"file":"SearchQuery.js","sourceRoot":"","sources":["../../../src/usecases/base/SearchQuery.ts"],"names":[],"mappings":";;AAGA,sFAA2F;AAC3F,gFAAmG;AAEnG,gEAAuE;AASvE,MAAqB,WAAW;IAM5B,MAAM,CAAC,gBAAgB,CAAC,WAAW;QAC/B,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAEtC,MAAM,OAAO,GAAG,IAAA,qCAAsB,EAAC,WAAW,CAAC,CAAC;QACpD,WAAW,CAAC,MAAM,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC;QACrC,WAAW,CAAC,aAAa,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC;QACnD,WAAW,CAAC,SAAS,GAAG,IAAA,4BAAgB,EAAC,WAAW,CAAC,CAAC;QAEtD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,OAAO,CACV,YAA6B,EAC7B,OAAgC,EAChC,WAAwB;;QAGxB,MAAM,MAAM,GAAG,CAAA,MAAA,OAAO,CAAC,aAAa,0CAAE,SAAS,EAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC;QAGlC,IAAI,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QAChC,IAAI,WAAW,CAAC,aAAa,EAAE;YAC3B,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO;iBACjC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;iBAClC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;SAClE;QAED,IAAI,MAAM,EAAE;YACR,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;SACrD;QAGD,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC7C,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACjD,QAAQ,OAAO,CAAC,OAAO,EAAE;gBACrB,KAAK,YAAY;oBACb,MAAM,iBAAiB,GAAG,OAAkC,CAAC;oBAC7D,OAAO,CAAC,oBAAoB,CACxB,MAAM,GAAG,QAAQ,EACjB,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAC1C,CAAC;oBACF,MAAM;gBAEV,KAAK,UAAU;oBAEX,OAAO,CAAC,iBAAiB,CAAC,MAAM,GAAG,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;oBAChE,MAAM;aACb;QACL,CAAC,CAAC,CAAC;QAGH,IAAI,WAAW,CAAC,SAAS,EAAE;YACvB,OAAO,CAAC,QAAQ,CAAC,iCAAe,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;SACtE;IACL,CAAC;CACJ;AA9DD,8BA8DC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { Connection } from 'typeorm';
|
|
2
2
|
export declare class DataMapperHelper {
|
|
3
|
-
static hasFields(object: any): boolean;
|
|
4
|
-
static getKeys(object: any): any;
|
|
5
3
|
static anyToModel(source: any, ModelClass: any, fieldNames?: any): any;
|
|
6
4
|
static anyToSchema(source: any, SchemaClass: any): any;
|
|
7
5
|
static anyToPlain(source: any): any;
|
|
8
6
|
static modelToEntity(connection: Connection, model: any): any;
|
|
7
|
+
static applyChangesToModel(model: any, changes: any): void;
|
|
9
8
|
static exportModels(types: any[]): {};
|
|
10
9
|
static exportEnums(types: any[]): {};
|
|
11
10
|
}
|
|
@@ -6,15 +6,9 @@ const BaseField_1 = require("../../infrastructure/decorators/fields/BaseField");
|
|
|
6
6
|
const RelationField_1 = require("../../infrastructure/decorators/fields/RelationField");
|
|
7
7
|
const constants_1 = require("@nestjs/swagger/dist/constants");
|
|
8
8
|
class DataMapperHelper {
|
|
9
|
-
static hasFields(object) {
|
|
10
|
-
return !!Reflect.getMetadata(BaseField_1.STEROIDS_META_KEYS, object.prototype);
|
|
11
|
-
}
|
|
12
|
-
static getKeys(object) {
|
|
13
|
-
return Reflect.getMetadata(BaseField_1.STEROIDS_META_KEYS, object.prototype) || [];
|
|
14
|
-
}
|
|
15
9
|
static anyToModel(source, ModelClass, fieldNames = null) {
|
|
16
10
|
if (!fieldNames) {
|
|
17
|
-
fieldNames =
|
|
11
|
+
fieldNames = (0, BaseField_1.getMetaFields)(ModelClass);
|
|
18
12
|
}
|
|
19
13
|
const model = new ModelClass();
|
|
20
14
|
fieldNames.forEach(fieldName => {
|
|
@@ -43,8 +37,7 @@ class DataMapperHelper {
|
|
|
43
37
|
}
|
|
44
38
|
static anyToSchema(source, SchemaClass) {
|
|
45
39
|
const schema = new SchemaClass();
|
|
46
|
-
|
|
47
|
-
keys.forEach(key => {
|
|
40
|
+
(0, BaseField_1.getMetaFields)(SchemaClass).forEach(key => {
|
|
48
41
|
const meta = (0, BaseField_1.getFieldOptions)(SchemaClass, key);
|
|
49
42
|
if (meta.appType === 'relation' && !/Ids?$/.exec(key)) {
|
|
50
43
|
let subSchemaClass = Reflect.getOwnMetadata('design:type', SchemaClass.prototype, key);
|
|
@@ -67,8 +60,8 @@ class DataMapperHelper {
|
|
|
67
60
|
return source;
|
|
68
61
|
}
|
|
69
62
|
if ((0, lodash_1.isObject)(source)) {
|
|
70
|
-
const keys =
|
|
71
|
-
?
|
|
63
|
+
const keys = (0, BaseField_1.isMetaClass)(source.constructor)
|
|
64
|
+
? (0, BaseField_1.getMetaFields)(source.constructor)
|
|
72
65
|
: Object.keys(source);
|
|
73
66
|
return Object.keys(source).reduce((obj, key) => {
|
|
74
67
|
if (!keys || keys.includes(key)) {
|
|
@@ -81,20 +74,24 @@ class DataMapperHelper {
|
|
|
81
74
|
}
|
|
82
75
|
static modelToEntity(connection, model) {
|
|
83
76
|
const entity = connection.getRepository((0, RelationField_1.getTableNameFromModelClass)(model.constructor)).create();
|
|
84
|
-
|
|
77
|
+
(0, BaseField_1.getMetaFields)(model.constructor).forEach(key => {
|
|
78
|
+
if (!(0, lodash_1.has)(model, key)) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
85
81
|
const value = model[key];
|
|
86
82
|
const options = (0, BaseField_1.getFieldOptions)(model.constructor, key);
|
|
87
83
|
switch (options.appType) {
|
|
88
84
|
case 'relationId':
|
|
85
|
+
const primaryKey = 'id';
|
|
89
86
|
const relationIdOptions = options;
|
|
90
87
|
const subRelationIdOptions = (0, BaseField_1.getFieldOptions)(model.constructor, relationIdOptions.relationName);
|
|
91
88
|
if (['ManyToMany', 'OneToMany'].includes(subRelationIdOptions.type)) {
|
|
92
89
|
entity[relationIdOptions.relationName] = (value || []).map(id => {
|
|
93
|
-
return this.modelToEntity(connection, this.anyToModel({ id }, subRelationIdOptions.modelClass()));
|
|
90
|
+
return this.modelToEntity(connection, this.anyToModel({ [primaryKey]: id }, subRelationIdOptions.modelClass()));
|
|
94
91
|
});
|
|
95
92
|
}
|
|
96
93
|
else {
|
|
97
|
-
entity[relationIdOptions.relationName] = value ? {
|
|
94
|
+
entity[relationIdOptions.relationName] = value ? { [primaryKey]: value } : null;
|
|
98
95
|
}
|
|
99
96
|
break;
|
|
100
97
|
case 'relation':
|
|
@@ -104,15 +101,44 @@ class DataMapperHelper {
|
|
|
104
101
|
}
|
|
105
102
|
break;
|
|
106
103
|
default:
|
|
107
|
-
|
|
104
|
+
if (typeof value !== 'undefined') {
|
|
105
|
+
entity[key] = value;
|
|
106
|
+
}
|
|
108
107
|
}
|
|
109
108
|
});
|
|
110
109
|
return entity;
|
|
111
110
|
}
|
|
111
|
+
static applyChangesToModel(model, changes) {
|
|
112
|
+
(0, BaseField_1.getMetaFields)(model.constructor).forEach(key => {
|
|
113
|
+
const options = (0, BaseField_1.getFieldOptions)(model.constructor, key);
|
|
114
|
+
if (options.appType === 'relationId') {
|
|
115
|
+
const primaryKey = 'id';
|
|
116
|
+
const relationIdOptions = options;
|
|
117
|
+
if (!(0, lodash_1.has)(changes, relationIdOptions.relationName)) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const value = changes[relationIdOptions.relationName];
|
|
121
|
+
model[key] = Array.isArray(value)
|
|
122
|
+
? value.map(obj => obj[primaryKey])
|
|
123
|
+
: value[primaryKey];
|
|
124
|
+
delete model[relationIdOptions.relationName];
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (!(0, lodash_1.has)(changes, key)) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
if ((0, lodash_1.isObject)(model[key]) && (0, lodash_1.isObject)(changes[key])) {
|
|
131
|
+
this.applyChangesToModel(model[key], changes[key]);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
model[key] = changes[key];
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
112
138
|
static exportModels(types) {
|
|
113
139
|
const result = {};
|
|
114
140
|
types.forEach(type => {
|
|
115
|
-
const fieldNames =
|
|
141
|
+
const fieldNames = (0, BaseField_1.getMetaFields)(type);
|
|
116
142
|
result[type.name] = {
|
|
117
143
|
attributes: fieldNames.map(fieldName => {
|
|
118
144
|
const apiMeta = Reflect.getMetadata(constants_1.DECORATORS.API_MODEL_PROPERTIES, type.prototype, fieldName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataMapperHelper.js","sourceRoot":"","sources":["../../../src/usecases/helpers/DataMapperHelper.ts"],"names":[],"mappings":";;;AAAA,mCAIgB;AAChB,
|
|
1
|
+
{"version":3,"file":"DataMapperHelper.js","sourceRoot":"","sources":["../../../src/usecases/helpers/DataMapperHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ class CrudService {
|
|
|
22
22
|
return result;
|
|
23
23
|
}
|
|
24
24
|
async findById(id, context = null, schemaClass = null) {
|
|
25
|
-
const searchQuery = SearchQuery_1.default.createFromSchema(schemaClass);
|
|
25
|
+
const searchQuery = schemaClass ? SearchQuery_1.default.createFromSchema(schemaClass) : new SearchQuery_1.default();
|
|
26
26
|
searchQuery.condition = { [this.primaryKey]: (0, lodash_1.toInteger)(id) };
|
|
27
27
|
const model = await this.findOne(searchQuery);
|
|
28
28
|
return schemaClass ? this.modelToSchema(model, schemaClass) : model;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrudService.js","sourceRoot":"","sources":["../../../src/usecases/services/CrudService.ts"],"names":[],"mappings":";;;AACA,mCAA+C;AAE/C,kEAA6D;AAG7D,kEAA6D;AAC7D,qDAA8C;AAM9C,MAAa,WAAW;IAAxB;QAMc,eAAU,GAAW,IAAI,CAAC;IAoOxC,CAAC;IAtNG,IAAI,CAAC,UAAmC,EAAE,UAAU;QAChD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAeD,KAAK,CAAC,MAAM,CACR,GAAe,EACf,UAAsB,IAAI,EAC1B,cAA6B,IAAI;QAEjC,MAAM,IAAA,mCAAgB,EAAC,GAAG,CAAC,CAAC;QAE5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAU,GAAG,EAAE,qBAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;QACrG,IAAI,WAAW,EAAE;YACb,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAU,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;SACvG;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAeD,KAAK,CAAC,QAAQ,CACV,EAAmB,EACnB,UAAsB,IAAI,EAC1B,cAA6B,IAAI;QAEjC,MAAM,WAAW,GAAG,qBAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"CrudService.js","sourceRoot":"","sources":["../../../src/usecases/services/CrudService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExtractRelationId = exports.SCHEMA_META_EXTRACT_RELATION_ID = void 0;
|
|
4
|
-
const common_1 = require("@nestjs/common");
|
|
5
|
-
exports.SCHEMA_META_EXTRACT_RELATION_ID = 'meta_extract_relation_id';
|
|
6
|
-
const getExtractRelationId = (target, key) => Reflect.getMetadata(exports.SCHEMA_META_EXTRACT_RELATION_ID, target, key);
|
|
7
|
-
function ExtractRelationId() {
|
|
8
|
-
return (0, common_1.applyDecorators)((0, common_1.SetMetadata)(exports.SCHEMA_META_EXTRACT_RELATION_ID, true));
|
|
9
|
-
}
|
|
10
|
-
exports.ExtractRelationId = ExtractRelationId;
|
|
11
|
-
//# sourceMappingURL=ExtractRelationId.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExtractRelationId.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/schema/ExtractRelationId.ts"],"names":[],"mappings":";;;AAAA,2CAA4D;AAE/C,QAAA,+BAA+B,GAAG,0BAA0B,CAAC;AAE1E,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,uCAA+B,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AAEhH,SAAgB,iBAAiB;IAC7B,OAAO,IAAA,wBAAe,EAClB,IAAA,oBAAW,EAAC,uCAA+B,EAAE,IAAI,CAAC,CACrD,CAAC;AACN,CAAC;AAJD,8CAIC"}
|