@steroidsjs/nest 1.3.32 → 1.4.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/package.json +1 -1
- package/src/infrastructure/repositories/CrudRepository.d.ts +1 -0
- package/src/infrastructure/repositories/CrudRepository.js +4 -1
- package/src/infrastructure/repositories/CrudRepository.js.map +1 -1
- package/src/usecases/base/SearchQuery.d.ts +35 -5
- package/src/usecases/base/SearchQuery.js +116 -21
- package/src/usecases/base/SearchQuery.js.map +1 -1
- package/src/usecases/helpers/ConditionHelper.js +6 -3
- package/src/usecases/helpers/ConditionHelper.js.map +1 -1
- package/src/usecases/helpers/SearchHelper.js +1 -1
- package/src/usecases/helpers/SearchHelper.js.map +1 -1
- package/src/usecases/interfaces/ICrudRepository.d.ts +1 -0
- package/src/usecases/services/CrudService.d.ts +1 -0
- package/src/usecases/services/CrudService.js +6 -3
- package/src/usecases/services/CrudService.js.map +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/package.json
CHANGED
|
@@ -12,6 +12,7 @@ export declare class CrudRepository<TModel> implements ICrudRepository<TModel> {
|
|
|
12
12
|
protected modelClass: any;
|
|
13
13
|
init(dbRepository: Repository<any>, modelClass: any): void;
|
|
14
14
|
search(dto: SearchInputDto, searchQuery: SearchQuery): Promise<SearchResultDto<TModel>>;
|
|
15
|
+
createQuery(): SearchQuery;
|
|
15
16
|
findOne(conditionOrQuery: ICondition | SearchQuery): Promise<TModel | null>;
|
|
16
17
|
findMany(conditionOrQuery: ICondition | SearchQuery): Promise<TModel[]>;
|
|
17
18
|
protected createQueryBuilder(conditionOrQuery: ICondition | SearchQuery): SelectQueryBuilder<any>;
|
|
@@ -19,6 +19,9 @@ class CrudRepository {
|
|
|
19
19
|
result.items = result.items.map(item => this.entityToModel(item));
|
|
20
20
|
return result;
|
|
21
21
|
}
|
|
22
|
+
createQuery() {
|
|
23
|
+
return new SearchQuery_1.default(this);
|
|
24
|
+
}
|
|
22
25
|
async findOne(conditionOrQuery) {
|
|
23
26
|
const dbQuery = this.createQueryBuilder(conditionOrQuery);
|
|
24
27
|
const row = await dbQuery.getOne();
|
|
@@ -33,7 +36,7 @@ class CrudRepository {
|
|
|
33
36
|
let searchQuery = conditionOrQuery;
|
|
34
37
|
if (!(conditionOrQuery instanceof SearchQuery_1.default)) {
|
|
35
38
|
searchQuery = new SearchQuery_1.default();
|
|
36
|
-
searchQuery.
|
|
39
|
+
searchQuery.where(conditionOrQuery);
|
|
37
40
|
}
|
|
38
41
|
const dbQuery = this.dbRepository.createQueryBuilder('model');
|
|
39
42
|
SearchQuery_1.default.prepare(this.dbRepository, dbQuery, searchQuery);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrudRepository.js","sourceRoot":"","sources":["../../../../src/infrastructure/repositories/CrudRepository.ts"],"names":[],"mappings":";;;AACA,sEAAiE;AAIjE,iEAA0D;AAC1D,kEAA6D;AAI7D,iEAA+D;AAC/D,uDAAqF;AAKrF,MAAa,cAAc;IAA3B;QAIW,eAAU,GAAW,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"CrudRepository.js","sourceRoot":"","sources":["../../../../src/infrastructure/repositories/CrudRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,50 @@
|
|
|
1
1
|
import { Repository } from 'typeorm';
|
|
2
2
|
import { SelectQueryBuilder } from 'typeorm/query-builder/SelectQueryBuilder';
|
|
3
3
|
import { ICondition } from '../helpers/ConditionHelper';
|
|
4
|
+
import { ICrudRepository } from '../interfaces/ICrudRepository';
|
|
5
|
+
export declare type ISearchQueryOrder = {
|
|
6
|
+
[key: string]: 'asc' | 'desc';
|
|
7
|
+
};
|
|
4
8
|
export default class SearchQuery {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
protected _select?: string[];
|
|
10
|
+
protected _excludeSelect?: string[];
|
|
11
|
+
protected _alias?: string;
|
|
12
|
+
protected _relations?: string[];
|
|
13
|
+
protected _condition?: ICondition;
|
|
14
|
+
protected _orders?: ISearchQueryOrder;
|
|
15
|
+
protected _limit?: number;
|
|
16
|
+
protected _offset?: number;
|
|
17
|
+
protected _repository?: ICrudRepository<any>;
|
|
18
|
+
constructor(repository?: any);
|
|
10
19
|
static createFromSchema(SchemaClass: any): SearchQuery;
|
|
11
20
|
static prepare(dbRepository: Repository<any>, dbQuery: SelectQueryBuilder<any>, searchQuery: SearchQuery): void;
|
|
12
21
|
private static prepareRelations;
|
|
22
|
+
select(value: string | string[]): this;
|
|
23
|
+
addSelect(value: string | string[]): this;
|
|
24
|
+
getSelect(): string[];
|
|
25
|
+
excludeSelect(value: string | string[]): this;
|
|
26
|
+
getExcludeSelect(): string[];
|
|
27
|
+
alias(value: string): this;
|
|
28
|
+
getAlias(): string;
|
|
13
29
|
with(relation: string | string[]): this;
|
|
30
|
+
getWith(): string[];
|
|
14
31
|
where(condition: ICondition): this;
|
|
15
32
|
filterWhere(condition: ICondition): this;
|
|
16
33
|
andWhere(condition: ICondition): this;
|
|
17
34
|
andFilterWhere(condition: ICondition): this;
|
|
18
35
|
orWhere(condition: ICondition): this;
|
|
19
36
|
orFilterWhere(condition: ICondition): this;
|
|
37
|
+
getWhere(): ICondition;
|
|
38
|
+
orderBy(value: string | ISearchQueryOrder, direction?: 'asc' | 'desc'): this;
|
|
39
|
+
addOrderBy(value: string | ISearchQueryOrder, direction?: 'asc' | 'desc'): this;
|
|
40
|
+
getOrderBy(): ISearchQueryOrder;
|
|
41
|
+
limit(value: any): this;
|
|
42
|
+
getLimit(): number;
|
|
43
|
+
offset(value: any): this;
|
|
44
|
+
getOffset(): number;
|
|
45
|
+
_getRepository(): ICrudRepository<any>;
|
|
46
|
+
one(): Promise<any>;
|
|
47
|
+
many(): Promise<any[]>;
|
|
48
|
+
scalar(): Promise<unknown>;
|
|
49
|
+
column(): Promise<unknown[]>;
|
|
20
50
|
}
|
|
@@ -4,31 +4,46 @@ const SchemaSelect_1 = require("../../infrastructure/decorators/schema/SchemaSel
|
|
|
4
4
|
const BaseField_1 = require("../../infrastructure/decorators/fields/BaseField");
|
|
5
5
|
const ConditionHelper_1 = require("../helpers/ConditionHelper");
|
|
6
6
|
class SearchQuery {
|
|
7
|
+
constructor(repository = null) {
|
|
8
|
+
this._repository = repository;
|
|
9
|
+
}
|
|
7
10
|
static createFromSchema(SchemaClass) {
|
|
8
11
|
const searchQuery = new SearchQuery();
|
|
9
12
|
const options = (0, SchemaSelect_1.getSchemaSelectOptions)(SchemaClass);
|
|
10
|
-
searchQuery.
|
|
11
|
-
searchQuery.
|
|
12
|
-
searchQuery.
|
|
13
|
+
searchQuery._select = options === null || options === void 0 ? void 0 : options.search;
|
|
14
|
+
searchQuery._excludeSelect = options === null || options === void 0 ? void 0 : options.excludeSelect;
|
|
15
|
+
searchQuery._relations = (0, BaseField_1.getMetaRelations)(SchemaClass);
|
|
13
16
|
return searchQuery;
|
|
14
17
|
}
|
|
15
18
|
static prepare(dbRepository, dbQuery, searchQuery) {
|
|
16
19
|
var _a, _b;
|
|
17
20
|
const prefix = ((_b = (_a = dbQuery.expressionMap) === null || _a === void 0 ? void 0 : _a.mainAlias) === null || _b === void 0 ? void 0 : _b.name) || '';
|
|
18
|
-
let select = searchQuery.
|
|
19
|
-
if (searchQuery.
|
|
21
|
+
let select = searchQuery._select;
|
|
22
|
+
if (searchQuery._excludeSelect) {
|
|
20
23
|
select = dbRepository.metadata.columns
|
|
21
24
|
.map(column => column.propertyName)
|
|
22
|
-
.filter(name => !searchQuery.
|
|
25
|
+
.filter(name => !searchQuery._excludeSelect.includes(name));
|
|
23
26
|
}
|
|
24
27
|
if (select) {
|
|
25
28
|
dbQuery.select(select.map(name => `${prefix}.${name}`));
|
|
26
29
|
}
|
|
27
|
-
if (searchQuery.
|
|
28
|
-
SearchQuery.prepareRelations(dbQuery, searchQuery.
|
|
30
|
+
if (searchQuery._relations) {
|
|
31
|
+
SearchQuery.prepareRelations(dbQuery, searchQuery._relations, prefix, dbRepository.target);
|
|
32
|
+
}
|
|
33
|
+
if (searchQuery._condition) {
|
|
34
|
+
dbQuery.andWhere(ConditionHelper_1.ConditionHelper.toTypeOrm(searchQuery._condition));
|
|
35
|
+
}
|
|
36
|
+
if (searchQuery._orders) {
|
|
37
|
+
dbQuery.orderBy(Object.keys(searchQuery._orders).reduce((obj, key) => {
|
|
38
|
+
obj[key] = searchQuery._orders[key].toUpperCase();
|
|
39
|
+
return obj;
|
|
40
|
+
}, {}));
|
|
29
41
|
}
|
|
30
|
-
if (searchQuery.
|
|
31
|
-
dbQuery.
|
|
42
|
+
if (searchQuery._limit) {
|
|
43
|
+
dbQuery.limit(searchQuery._limit);
|
|
44
|
+
}
|
|
45
|
+
if (searchQuery._offset) {
|
|
46
|
+
dbQuery.offset(searchQuery._offset);
|
|
32
47
|
}
|
|
33
48
|
}
|
|
34
49
|
static prepareRelations(dbQuery, relationsWithAliases, rootPrefix, rootClass) {
|
|
@@ -74,29 +89,60 @@ class SearchQuery {
|
|
|
74
89
|
}
|
|
75
90
|
});
|
|
76
91
|
}
|
|
92
|
+
select(value) {
|
|
93
|
+
this._select = [].concat(value || []);
|
|
94
|
+
return this;
|
|
95
|
+
}
|
|
96
|
+
addSelect(value) {
|
|
97
|
+
this._select = [
|
|
98
|
+
...this._select,
|
|
99
|
+
...[].concat(value || []),
|
|
100
|
+
];
|
|
101
|
+
return this;
|
|
102
|
+
}
|
|
103
|
+
getSelect() {
|
|
104
|
+
return this._select;
|
|
105
|
+
}
|
|
106
|
+
excludeSelect(value) {
|
|
107
|
+
this._excludeSelect = [].concat(value || []);
|
|
108
|
+
return this;
|
|
109
|
+
}
|
|
110
|
+
getExcludeSelect() {
|
|
111
|
+
return this._excludeSelect;
|
|
112
|
+
}
|
|
113
|
+
alias(value) {
|
|
114
|
+
this._alias = value;
|
|
115
|
+
return this;
|
|
116
|
+
}
|
|
117
|
+
getAlias() {
|
|
118
|
+
return this._alias;
|
|
119
|
+
}
|
|
77
120
|
with(relation) {
|
|
78
|
-
if (!this.
|
|
79
|
-
this.
|
|
121
|
+
if (!this._relations) {
|
|
122
|
+
this._relations = [];
|
|
80
123
|
}
|
|
81
124
|
[].concat(relation || []).forEach(name => {
|
|
82
|
-
if (!this.
|
|
83
|
-
this.
|
|
125
|
+
if (!this._relations.includes(name)) {
|
|
126
|
+
this._relations.push(name);
|
|
84
127
|
}
|
|
85
128
|
});
|
|
86
129
|
return this;
|
|
87
130
|
}
|
|
131
|
+
getWith() {
|
|
132
|
+
return this._relations;
|
|
133
|
+
}
|
|
88
134
|
where(condition) {
|
|
89
|
-
this.
|
|
135
|
+
this._condition = condition;
|
|
90
136
|
return this;
|
|
91
137
|
}
|
|
92
138
|
filterWhere(condition) {
|
|
93
139
|
return this.where(['filter', condition]);
|
|
94
140
|
}
|
|
95
141
|
andWhere(condition) {
|
|
96
|
-
if (this.
|
|
97
|
-
this.
|
|
142
|
+
if (this._condition) {
|
|
143
|
+
this._condition = [
|
|
98
144
|
'and',
|
|
99
|
-
this.
|
|
145
|
+
this._condition,
|
|
100
146
|
condition,
|
|
101
147
|
];
|
|
102
148
|
return this;
|
|
@@ -109,10 +155,10 @@ class SearchQuery {
|
|
|
109
155
|
return this.andWhere(['filter', condition]);
|
|
110
156
|
}
|
|
111
157
|
orWhere(condition) {
|
|
112
|
-
if (this.
|
|
113
|
-
this.
|
|
158
|
+
if (this._condition) {
|
|
159
|
+
this._condition = [
|
|
114
160
|
'or',
|
|
115
|
-
this.
|
|
161
|
+
this._condition,
|
|
116
162
|
condition,
|
|
117
163
|
];
|
|
118
164
|
return this;
|
|
@@ -124,6 +170,55 @@ class SearchQuery {
|
|
|
124
170
|
orFilterWhere(condition) {
|
|
125
171
|
return this.orWhere(['filter', condition]);
|
|
126
172
|
}
|
|
173
|
+
getWhere() {
|
|
174
|
+
return this._condition;
|
|
175
|
+
}
|
|
176
|
+
orderBy(value, direction = 'asc') {
|
|
177
|
+
this._orders = typeof value === 'string' ? { [value]: direction } : value;
|
|
178
|
+
return this;
|
|
179
|
+
}
|
|
180
|
+
addOrderBy(value, direction = 'asc') {
|
|
181
|
+
this._orders = Object.assign(Object.assign({}, this._orders), (typeof value === 'string' ? { [value]: direction } : value));
|
|
182
|
+
return this;
|
|
183
|
+
}
|
|
184
|
+
getOrderBy() {
|
|
185
|
+
return this._orders;
|
|
186
|
+
}
|
|
187
|
+
limit(value) {
|
|
188
|
+
this._limit = value;
|
|
189
|
+
return this;
|
|
190
|
+
}
|
|
191
|
+
getLimit() {
|
|
192
|
+
return this._limit;
|
|
193
|
+
}
|
|
194
|
+
offset(value) {
|
|
195
|
+
this._offset = value;
|
|
196
|
+
return this;
|
|
197
|
+
}
|
|
198
|
+
getOffset() {
|
|
199
|
+
return this._offset;
|
|
200
|
+
}
|
|
201
|
+
_getRepository() {
|
|
202
|
+
if (!this._repository) {
|
|
203
|
+
throw new Error('Not found repository, you need create instance as "new SearchQuery(repository)"');
|
|
204
|
+
}
|
|
205
|
+
return this._repository;
|
|
206
|
+
}
|
|
207
|
+
async one() {
|
|
208
|
+
return this._getRepository().findOne(this);
|
|
209
|
+
}
|
|
210
|
+
async many() {
|
|
211
|
+
return this._getRepository().findMany(this);
|
|
212
|
+
}
|
|
213
|
+
async scalar() {
|
|
214
|
+
var _a;
|
|
215
|
+
const row = await this._getRepository().findOne(this);
|
|
216
|
+
return row && ((_a = Object.values(row)) === null || _a === void 0 ? void 0 : _a[0]) || null;
|
|
217
|
+
}
|
|
218
|
+
async column() {
|
|
219
|
+
const rows = await this._getRepository().findMany(this);
|
|
220
|
+
return (rows || []).map(row => { var _a; return ((_a = Object.values(row)) === null || _a === void 0 ? void 0 : _a[0]) || null; });
|
|
221
|
+
}
|
|
127
222
|
}
|
|
128
223
|
exports.default = SearchQuery;
|
|
129
224
|
//# sourceMappingURL=SearchQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchQuery.js","sourceRoot":"","sources":["../../../../src/usecases/base/SearchQuery.ts"],"names":[],"mappings":";;AAEA,sFAA2F;AAC3F,gFAAmG;AACnG,gEAAuE;
|
|
1
|
+
{"version":3,"file":"SearchQuery.js","sourceRoot":"","sources":["../../../../src/usecases/base/SearchQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ exports.ConditionHelper = void 0;
|
|
|
4
4
|
const lodash_1 = require("lodash");
|
|
5
5
|
const typeorm_1 = require("typeorm");
|
|
6
6
|
const emptyCondition = {};
|
|
7
|
-
const isEmpty = value => value === null || typeof value === 'undefined' || value === emptyCondition;
|
|
7
|
+
const isEmpty = value => value === null || typeof value === 'undefined' || value === emptyCondition || value === '';
|
|
8
8
|
class ConditionHelper {
|
|
9
9
|
static toTypeOrm(condition) {
|
|
10
10
|
return ConditionHelper._toTypeOrmInternal(condition);
|
|
@@ -35,7 +35,7 @@ class ConditionHelper {
|
|
|
35
35
|
const value = condition[2];
|
|
36
36
|
switch (operator) {
|
|
37
37
|
case 'filter':
|
|
38
|
-
return ConditionHelper._toTypeOrmInternal(
|
|
38
|
+
return ConditionHelper._toTypeOrmInternal(condition[1], true);
|
|
39
39
|
case '=':
|
|
40
40
|
return objectWhere(isNot, isEmpty(value), key, value);
|
|
41
41
|
case '>':
|
|
@@ -51,7 +51,7 @@ class ConditionHelper {
|
|
|
51
51
|
case 'like':
|
|
52
52
|
case 'ilike':
|
|
53
53
|
const likeMethod = operator === 'ilike' ? typeorm_1.ILike : typeorm_1.Like;
|
|
54
|
-
return objectWhere(isNot, isEmpty(value), key, likeMethod(value.indexOf('%') !== -1 ? value : '%' + value + '%'));
|
|
54
|
+
return objectWhere(isNot, isEmpty(value), key, likeMethod(value ? (value.indexOf('%') !== -1 ? value : '%' + value + '%') : ''));
|
|
55
55
|
case 'between':
|
|
56
56
|
return objectWhere(isNot, isEmpty(condition[2] || condition[3]), key, (0, typeorm_1.Between)(condition[2], condition[3]));
|
|
57
57
|
case 'in':
|
|
@@ -73,6 +73,9 @@ class ConditionHelper {
|
|
|
73
73
|
if (values.length === 0) {
|
|
74
74
|
return emptyCondition;
|
|
75
75
|
}
|
|
76
|
+
if (values.length === 1) {
|
|
77
|
+
return values[0];
|
|
78
|
+
}
|
|
76
79
|
return new typeorm_1.Brackets((query2) => {
|
|
77
80
|
const parentQuery = query2.parentQueryBuilder;
|
|
78
81
|
query2.expressionMap.joinAttributes = parentQuery.expressionMap.joinAttributes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionHelper.js","sourceRoot":"","sources":["../../../../src/usecases/helpers/ConditionHelper.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACnC,qCAAoI;AAapI,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ConditionHelper.js","sourceRoot":"","sources":["../../../../src/usecases/helpers/ConditionHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ class SearchHelper {
|
|
|
7
7
|
static async search(repository, dto, searchQuery, prepareHandler = null) {
|
|
8
8
|
const result = new SearchResultDto_1.SearchResultDto();
|
|
9
9
|
dto = Object.assign({ page: 1, pageSize: 50 }, dto);
|
|
10
|
-
const dbQuery = repository.createQueryBuilder(searchQuery.
|
|
10
|
+
const dbQuery = repository.createQueryBuilder(searchQuery.getAlias() || 'model');
|
|
11
11
|
const modelAlias = dbQuery.alias;
|
|
12
12
|
SearchQuery_1.default.prepare(repository, dbQuery, searchQuery);
|
|
13
13
|
const sort = typeof dto.sort === 'string' ? dto.sort.split(',') : (dto.sort || []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchHelper.js","sourceRoot":"","sources":["../../../../src/usecases/helpers/SearchHelper.ts"],"names":[],"mappings":";;;AAGA,6DAAwD;AACxD,qDAA8C;AAE9C,MAAa,YAAY;IAErB,MAAM,CAAC,KAAK,CAAC,MAAM,CACf,UAA2B,EAC3B,GAAmB,EACnB,WAAwB,EACxB,iBAAqE,IAAI;QAEzE,MAAM,MAAM,GAAG,IAAI,iCAAe,EAAU,CAAC;QAG7C,GAAG,mBACC,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,EAAE,IACT,GAAG,CACT,CAAC;QAGF,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"SearchHelper.js","sourceRoot":"","sources":["../../../../src/usecases/helpers/SearchHelper.ts"],"names":[],"mappings":";;;AAGA,6DAAwD;AACxD,qDAA8C;AAE9C,MAAa,YAAY;IAErB,MAAM,CAAC,KAAK,CAAC,MAAM,CACf,UAA2B,EAC3B,GAAmB,EACnB,WAAwB,EACxB,iBAAqE,IAAI;QAEzE,MAAM,MAAM,GAAG,IAAI,iCAAe,EAAU,CAAC;QAG7C,GAAG,mBACC,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,EAAE,IACT,GAAG,CACT,CAAC;QAGF,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;QAEjC,qBAAW,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAGtD,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACnF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACvC,MAAM,eAAe,GAAG,GAAG,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC5D,OAAO,GAAG,CAAC;YACf,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACX;QAGD,IAAI,cAAc,EAAE;YAChB,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACtC;QAGD,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE;YAClB,OAAO;iBACF,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;iBACrC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC5B;QAGD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;QACvD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAErB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AApDD,oCAoDC"}
|
|
@@ -9,6 +9,7 @@ export interface ICrudRepository<TModel> {
|
|
|
9
9
|
search: <TItem>(dto: SearchInputDto, searchQuery: SearchQuery) => Promise<SearchResultDto<TModel | Type<TItem>>>;
|
|
10
10
|
findOne: (conditionOrQuery: ICondition | SearchQuery) => Promise<TModel | null>;
|
|
11
11
|
findMany: (conditionOrQuery: ICondition | SearchQuery) => Promise<TModel[]>;
|
|
12
|
+
createQuery: () => SearchQuery;
|
|
12
13
|
create: (model: TModel, transactionHandler?: (callback: any) => Promise<void>) => Promise<TModel>;
|
|
13
14
|
update: (id: number, model: TModel, transactionHandler?: (callback: any) => Promise<void>) => Promise<TModel>;
|
|
14
15
|
save: (model: TModel, transactionHandler?: (callback: any) => Promise<void>) => Promise<TModel>;
|
|
@@ -15,6 +15,7 @@ export declare class CrudService<TModel, TSearchDto = ISearchInputDto, TSaveDto
|
|
|
15
15
|
search<TSchema>(dto: TSearchDto, context?: ContextDto | null, schemaClass?: Type<TSchema>): Promise<SearchResultDto<Type<TSchema>>>;
|
|
16
16
|
findById(id: number | string, context?: ContextDto | null): Promise<TModel>;
|
|
17
17
|
findById<TSchema>(id: number | string, context?: ContextDto | null, schemaClass?: Type<TSchema>): Promise<Type<TSchema>>;
|
|
18
|
+
createQuery(): SearchQuery;
|
|
18
19
|
findOne(searchQuery: SearchQuery): Promise<TModel>;
|
|
19
20
|
findMany(searchQuery: SearchQuery): Promise<TModel[]>;
|
|
20
21
|
create(dto: TSaveDto, context?: ContextDto | null): Promise<TModel>;
|
|
@@ -28,10 +28,13 @@ class CrudService {
|
|
|
28
28
|
}
|
|
29
29
|
async findById(id, context = null, schemaClass = null) {
|
|
30
30
|
const searchQuery = schemaClass ? SearchQuery_1.default.createFromSchema(schemaClass) : new SearchQuery_1.default();
|
|
31
|
-
searchQuery.
|
|
31
|
+
searchQuery.andWhere({ [this.primaryKey]: (0, lodash_1.toInteger)(id) });
|
|
32
32
|
const model = await this.findOne(searchQuery);
|
|
33
33
|
return schemaClass ? this.modelToSchema(model, schemaClass) : model;
|
|
34
34
|
}
|
|
35
|
+
createQuery() {
|
|
36
|
+
return this.repository.createQuery();
|
|
37
|
+
}
|
|
35
38
|
async findOne(searchQuery) {
|
|
36
39
|
return await this.repository.findOne(searchQuery);
|
|
37
40
|
}
|
|
@@ -81,8 +84,8 @@ class CrudService {
|
|
|
81
84
|
return RelationTypeEnum_1.RelationTypeEnum.OneToMany === relation.type;
|
|
82
85
|
});
|
|
83
86
|
const searchQuery = new SearchQuery_1.default();
|
|
84
|
-
searchQuery.relations
|
|
85
|
-
searchQuery.
|
|
87
|
+
searchQuery.with(relations);
|
|
88
|
+
searchQuery.where({ id });
|
|
86
89
|
const model = await service.findOne(searchQuery);
|
|
87
90
|
relations.forEach((relation) => {
|
|
88
91
|
if (model[relation].length > 0) {
|
|
@@ -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,gFAAwG;AAExG,0EAAqE;AACrE,8CAAiE;AAKjE,MAAa,WAAW;IAAxB;QAMc,eAAU,GAAW,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"CrudService.js","sourceRoot":"","sources":["../../../../src/usecases/services/CrudService.ts"],"names":[],"mappings":"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"}
|