@steroidsjs/nest 1.3.31 → 1.4.0
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/fields/BaseField.js +25 -19
- package/src/infrastructure/decorators/fields/BaseField.js.map +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 +128 -31
- package/src/usecases/base/SearchQuery.js.map +1 -1
- package/src/usecases/helpers/ConditionHelper.js +1 -1
- 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/helpers/ValidationHelper.js +1 -1
- package/src/usecases/helpers/ValidationHelper.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
|
@@ -26,26 +26,32 @@ const getMetaFields = (MetaClass) => {
|
|
|
26
26
|
};
|
|
27
27
|
exports.getMetaFields = getMetaFields;
|
|
28
28
|
const getMetaRelations = (MetaClass, parentPrefix = null) => {
|
|
29
|
-
|
|
30
|
-
.
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
29
|
+
const findRelationsRecursive = (MetaClass, finedClasses, parentPrefix = null) => {
|
|
30
|
+
return (0, exports.getMetaFields)(MetaClass)
|
|
31
|
+
.filter(fieldName => {
|
|
32
|
+
const options = (0, exports.getFieldOptions)(MetaClass, fieldName);
|
|
33
|
+
return ['relationId', 'relation'].includes(options === null || options === void 0 ? void 0 : options.appType);
|
|
34
|
+
})
|
|
35
|
+
.reduce((allRelations, relationName) => {
|
|
36
|
+
allRelations.push(relationName);
|
|
37
|
+
const options = (0, exports.getFieldOptions)(MetaClass, relationName);
|
|
38
|
+
if (options.appType === 'relationId') {
|
|
39
|
+
return allRelations;
|
|
40
|
+
}
|
|
41
|
+
const relationValue = options.relationClass();
|
|
42
|
+
if (finedClasses.includes(relationValue)) {
|
|
43
|
+
return allRelations;
|
|
44
|
+
}
|
|
45
|
+
finedClasses.push(relationValue);
|
|
46
|
+
if ((0, exports.isMetaClass)(relationValue)) {
|
|
47
|
+
const subRelationNames = findRelationsRecursive(relationValue, finedClasses, relationName)
|
|
48
|
+
.map(subRelationName => `${relationName}.${subRelationName}`);
|
|
49
|
+
allRelations = [...allRelations, ...subRelationNames];
|
|
50
|
+
}
|
|
38
51
|
return allRelations;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const subRelationNames = (0, exports.getMetaRelations)(relationValue, relationName).map(subRelationName => {
|
|
43
|
-
return `${relationName}.${subRelationName}`;
|
|
44
|
-
});
|
|
45
|
-
allRelations = [...allRelations, ...subRelationNames];
|
|
46
|
-
}
|
|
47
|
-
return allRelations;
|
|
48
|
-
}, []);
|
|
52
|
+
}, []);
|
|
53
|
+
};
|
|
54
|
+
return findRelationsRecursive(MetaClass, []);
|
|
49
55
|
};
|
|
50
56
|
exports.getMetaRelations = getMetaRelations;
|
|
51
57
|
const getRelationsByFilter = (MetaClass, filterCallBack) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/BaseField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,6CAA4C;AAE5C,qDAA2C;AAE3C,4CAA2D;AAE9C,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,6BAA6B,GAAG,+BAA+B,CAAC;AAChE,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAiChD,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAU,EAAE;IACrD,OAAO,IAAA,qBAAa,EAAC,WAAW,CAAC;SAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,uBAAe,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC,IAAI,IAAI,CAAC;AACzF,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B;AAEK,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,SAAiB,EAAoB,EAAE;IAChF,OAAO,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,2BAAmB,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACrG,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAEK,MAAM,WAAW,GAAG,CAAC,SAAS,EAAW,EAAE;IAC9C,OAAO,OAAO,CAAC,WAAW,CAAC,0BAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;AACxE,CAAC,CAAA;AAFY,QAAA,WAAW,eAEvB;AAEM,MAAM,aAAa,GAAG,CAAC,SAAS,EAAY,EAAE;IACjD,OAAO,OAAO,CAAC,WAAW,CAAC,0BAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAC9E,CAAC,CAAA;AAFY,QAAA,aAAa,iBAEzB;AAEM,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,EAAY,EAAE;
|
|
1
|
+
{"version":3,"file":"BaseField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/BaseField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,6CAA4C;AAE5C,qDAA2C;AAE3C,4CAA2D;AAE9C,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,6BAA6B,GAAG,+BAA+B,CAAC;AAChE,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAiChD,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAU,EAAE;IACrD,OAAO,IAAA,qBAAa,EAAC,WAAW,CAAC;SAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,uBAAe,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC,IAAI,IAAI,CAAC;AACzF,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B;AAEK,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,SAAiB,EAAoB,EAAE;IAChF,OAAO,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,2BAAmB,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACrG,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAEK,MAAM,WAAW,GAAG,CAAC,SAAS,EAAW,EAAE;IAC9C,OAAO,OAAO,CAAC,WAAW,CAAC,0BAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;AACxE,CAAC,CAAA;AAFY,QAAA,WAAW,eAEvB;AAEM,MAAM,aAAa,GAAG,CAAC,SAAS,EAAY,EAAE;IACjD,OAAO,OAAO,CAAC,WAAW,CAAC,0BAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAC9E,CAAC,CAAA;AAFY,QAAA,aAAa,iBAEzB;AAEM,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,EAAY,EAAE;IAEzE,MAAM,sBAAsB,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,EAAE,EAAE;QAC5E,OAAO,IAAA,qBAAa,EAAC,SAAS,CAAC;aAC1B,MAAM,CAAC,SAAS,CAAC,EAAE;YAChB,MAAM,OAAO,GAAG,IAAA,uBAAe,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACtD,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;QACjE,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE;YACnC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEhC,MAAM,OAAO,GAAG,IAAA,uBAAe,EAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACzD,IAAI,OAAO,CAAC,OAAO,KAAK,YAAY,EAAE;gBAClC,OAAO,YAAY,CAAC;aACvB;YAED,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YAC9C,IAAI,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gBACtC,OAAO,YAAY,CAAC;aACvB;YACD,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEjC,IAAI,IAAA,mBAAW,EAAC,aAAa,CAAC,EAAE;gBAC5B,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC;qBACrF,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,YAAY,IAAI,eAAe,EAAE,CAAC,CAAA;gBACjE,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,gBAAgB,CAAC,CAAC;aACzD;YAED,OAAO,YAAY,CAAC;QACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IACf,CAAC,CAAA;IACD,OAAO,sBAAsB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC,CAAA;AAhCY,QAAA,gBAAgB,oBAgC5B;AAEM,MAAM,oBAAoB,GAAG,CAChC,SAAS,EACT,cAAmD,EAC3C,EAAE;IACV,OAAO,IAAA,qBAAa,EAAC,SAAS,CAAC;SAC1B,MAAM,CAAC,SAAS,CAAC,EAAE;QAChB,MAAM,OAAO,GAAG,IAAA,uBAAe,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACtD,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE;QACrB,MAAM,eAAe,GAAG,IAAA,uBAAe,EAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACjE,OAAO,cAAc,CAAC,eAAe,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAC;AACX,CAAC,CAAA;AAbY,QAAA,oBAAoB,wBAahC;AAEM,MAAM,qBAAqB,GAAG,CAAC,WAAW,EAAE,SAAiB,EAAsB,EAAE;IACxF,OAAO,OAAO,CAAC,WAAW,CAAC,qCAA6B,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAChG,CAAC,CAAA;AAFY,QAAA,qBAAqB,yBAEjC;AAEM,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,SAAiB,EAAuC,EAAE;IACrG,MAAM,aAAa,GAAW,IAAA,6BAAqB,EAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;IACpD,IAAI,CAAC,SAAS,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,aAAa,eAAe,SAAS,EAAE,CAAC,CAAC;KACzF;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B;AAEF,MAAM,mBAAmB,GAAG,CAAC,OAA0B,EAAE,eAAsC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;IACzH,OAAO,CAAC,cAAc,CAAC,2BAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3E,OAAO,CAAC,cAAc,CAAC,qCAA6B,EAAE,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAG3G,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,0BAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IACzE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9B,OAAO,CAAC,cAAc,CAAC,0BAAkB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,SAAgB,SAAS,CAAC,UAA6B,IAAI,EAAE,kBAAyC,EAAE;IACpG,OAAO,IAAA,wBAAe,EAClB,GAAG;QACC,mBAAmB,+BACf,KAAK,EAAE,IAAI,EACX,IAAI,EAAE,IAAI,IACP,OAAO,KACV,OAAO,EAAE,OAAO,OAAO,CAAC,OAAO,KAAK,SAAS;gBACzC,CAAC,CAAC,OAAO,CAAC,OAAO;gBACjB,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,IAAI,IAAI,CAAC,EACvC,OAAO,EAAE,eAAe,CAAC,OAAO,IAAI,IAAI,KACzC,eAAe,CAAC;QACnB,IAAA,qBAAW,EAAC;YACR,IAAI,EAAE,OAAO,CAAC,MAAM;YACpB,WAAW,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;YACvC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,SAAS;YACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,KAAK;YACpC,OAAO,EAAE,OAAO,CAAC,OAAO;SAC3B,CAAC;QACF,OAAO,CAAC,SAAS,IAAI,IAAA,qBAAS,EAAC,OAAO,CAAC,SAAS,CAAC;QACjD,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,EAAC;YAC3B,OAAO,EAAE,4BAA4B;SACxC,CAAC;KACL,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAzBD,8BAyBC"}
|
|
@@ -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) {
|
|
@@ -59,42 +74,75 @@ class SearchQuery {
|
|
|
59
74
|
const parentPath = path.split('.').slice(0, -1).join('.');
|
|
60
75
|
const relationName = path.split('.').slice(-1).join('.');
|
|
61
76
|
const options = (0, BaseField_1.getFieldOptions)(classesMap[parentPath], relationName);
|
|
62
|
-
if (options
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
77
|
+
if (options) {
|
|
78
|
+
if (options.appType === 'relation') {
|
|
79
|
+
classesMap[path] = options.relationClass();
|
|
80
|
+
}
|
|
81
|
+
const property = relationToAliasMap[parentPath] + '.' + relationName;
|
|
82
|
+
const alias = relationToAliasMap[path];
|
|
83
|
+
if (options.relationName) {
|
|
84
|
+
dbQuery.loadRelationIdAndMap(property, relationToAliasMap[parentPath] + '.' + options.relationName);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
dbQuery.leftJoinAndSelect(property, alias);
|
|
88
|
+
}
|
|
72
89
|
}
|
|
73
90
|
});
|
|
74
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
|
+
}
|
|
75
120
|
with(relation) {
|
|
76
|
-
if (!this.
|
|
77
|
-
this.
|
|
121
|
+
if (!this._relations) {
|
|
122
|
+
this._relations = [];
|
|
78
123
|
}
|
|
79
124
|
[].concat(relation || []).forEach(name => {
|
|
80
|
-
if (!this.
|
|
81
|
-
this.
|
|
125
|
+
if (!this._relations.includes(name)) {
|
|
126
|
+
this._relations.push(name);
|
|
82
127
|
}
|
|
83
128
|
});
|
|
84
129
|
return this;
|
|
85
130
|
}
|
|
131
|
+
getWith() {
|
|
132
|
+
return this._relations;
|
|
133
|
+
}
|
|
86
134
|
where(condition) {
|
|
87
|
-
this.
|
|
135
|
+
this._condition = condition;
|
|
88
136
|
return this;
|
|
89
137
|
}
|
|
90
138
|
filterWhere(condition) {
|
|
91
139
|
return this.where(['filter', condition]);
|
|
92
140
|
}
|
|
93
141
|
andWhere(condition) {
|
|
94
|
-
if (this.
|
|
95
|
-
this.
|
|
142
|
+
if (this._condition) {
|
|
143
|
+
this._condition = [
|
|
96
144
|
'and',
|
|
97
|
-
this.
|
|
145
|
+
this._condition,
|
|
98
146
|
condition,
|
|
99
147
|
];
|
|
100
148
|
return this;
|
|
@@ -107,10 +155,10 @@ class SearchQuery {
|
|
|
107
155
|
return this.andWhere(['filter', condition]);
|
|
108
156
|
}
|
|
109
157
|
orWhere(condition) {
|
|
110
|
-
if (this.
|
|
111
|
-
this.
|
|
158
|
+
if (this._condition) {
|
|
159
|
+
this._condition = [
|
|
112
160
|
'or',
|
|
113
|
-
this.
|
|
161
|
+
this._condition,
|
|
114
162
|
condition,
|
|
115
163
|
];
|
|
116
164
|
return this;
|
|
@@ -122,6 +170,55 @@ class SearchQuery {
|
|
|
122
170
|
orFilterWhere(condition) {
|
|
123
171
|
return this.orWhere(['filter', condition]);
|
|
124
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
|
+
}
|
|
125
222
|
}
|
|
126
223
|
exports.default = SearchQuery;
|
|
127
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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"}
|
|
@@ -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':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionHelper.js","sourceRoot":"","sources":["../../../../src/usecases/helpers/ConditionHelper.ts"],"names":[],"mappings":"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
|
|
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"}
|
|
@@ -34,7 +34,7 @@ class ValidationHelper {
|
|
|
34
34
|
const keys = (0, BaseField_1.isMetaClass)(dto.constructor) ? (0, BaseField_1.getMetaFields)(dto.constructor) : Object.keys(dto);
|
|
35
35
|
for (const key of keys) {
|
|
36
36
|
const value = dto[key];
|
|
37
|
-
const nextParams = Object.assign(Object.assign({}, params), { name: key, prevModel: ((_a = params.prevModel) === null || _a === void 0 ? void 0 : _a[key]) || null, nextModel: ((_b = params.nextModel) === null || _b === void 0 ? void 0 : _b[key]) || null });
|
|
37
|
+
const nextParams = Object.assign(Object.assign({}, params), { name: key, prevModel: ((_a = params === null || params === void 0 ? void 0 : params.prevModel) === null || _a === void 0 ? void 0 : _a[key]) || null, nextModel: ((_b = params === null || params === void 0 ? void 0 : params.nextModel) === null || _b === void 0 ? void 0 : _b[key]) || null });
|
|
38
38
|
try {
|
|
39
39
|
if (Array.isArray(value)) {
|
|
40
40
|
for (const valueItem of value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationHelper.js","sourceRoot":"","sources":["../../../../src/usecases/helpers/ValidationHelper.ts"],"names":[],"mappings":";;;AAAA,mCAA6C;AAC7C,qDAA2D;AAC3D,8CAAkD;AAElD,mFAA8E;AAC9E,gFAA4F;AAC5F,uDAA2D;AAE3D,MAAM,uBAAuB,GAAqB;IAC9C,SAAS,EAAE,KAAK;CACnB,CAAC;AAKK,KAAK,UAAU,gBAAgB,CAAC,GAAQ,EAAE,gBAAmC;IAChF,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAQ,EACzB,GAAG,kCACC,uBAAuB,GAAK,gBAAgB,EACnD,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,EAAE;QACf,MAAM,IAAI,gCAAmB,CAAC,MAAM,CAAC,CAAC;KACzC;AACL,CAAC;AARD,4CAQC;AAWD,MAAa,gBAAgB;IACzB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAQ,EAAE,SAA2B,IAAI,EAAE,gBAA8B,IAAI;QAC/F,MAAM,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;QAC1C,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3E,CAAC;IAOS,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,GAAQ;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAQ,EAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,MAAM,EAAE;YACf,MAAM,IAAI,gCAAmB,CAAC,MAAM,CAAC,CAAC;SACzC;IACL,CAAC;IASS,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAQ,EAAE,SAA2B,IAAI,EAAE,sBAAoC,IAAI;;QAC1H,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,MAAM,IAAI,GAAG,IAAA,uBAAW,EAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAa,EAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9F,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACpB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,UAAU,mCACT,MAAM,KACT,IAAI,EAAE,GAAG,EACT,SAAS,EAAE,CAAA,MAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"ValidationHelper.js","sourceRoot":"","sources":["../../../../src/usecases/helpers/ValidationHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -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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"}
|