@things-factory/shell 5.0.0-alpha.51 → 5.0.0-alpha.52
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/dist-server/service/domain/domain-resolver.js +4 -1
- package/dist-server/service/domain/domain-resolver.js.map +1 -1
- package/dist-server/utils/list-params-converter.js +18 -6
- package/dist-server/utils/list-params-converter.js.map +1 -1
- package/dist-server/utils/list-query-builder.js +17 -4
- package/dist-server/utils/list-query-builder.js.map +1 -1
- package/package.json +13 -12
- package/server/service/domain/domain-resolver.ts +5 -1
- package/server/utils/list-params-converter.ts +30 -6
- package/server/utils/list-query-builder.ts +32 -4
@@ -27,7 +27,10 @@ let DomainResolver = class DomainResolver {
|
|
27
27
|
}
|
28
28
|
async domains(params, context) {
|
29
29
|
const queryBuilder = (0, typeorm_1.getRepository)(domain_1.Domain).createQueryBuilder();
|
30
|
-
(0, list_query_builder_1.buildQuery)(queryBuilder, params || {}, context,
|
30
|
+
(0, list_query_builder_1.buildQuery)(queryBuilder, params || {}, context, {
|
31
|
+
domainRef: false,
|
32
|
+
searchables: ['name', 'description', 'subdomain']
|
33
|
+
});
|
31
34
|
const [items, total] = await queryBuilder.getManyAndCount();
|
32
35
|
return { items, total };
|
33
36
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"domain-resolver.js","sourceRoot":"","sources":["../../../server/service/domain/domain-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAmF;AACnF,qCAAuD;AAEvD,iDAA+C;AAE/C,uEAA2D;AAC3D,2DAAsD;AACtD,qCAAiC;AACjC,iDAAwD;AAGxD,IAAa,cAAc,GAA3B,MAAa,cAAc;IAGzB,KAAK,CAAC,MAAM,CAAY,EAAU;QAChC,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAA;QAExC,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACzC,CAAC;IAID,KAAK,CAAC,OAAO,CAAS,MAAiB,EAAS,OAAO;QACrD,MAAM,YAAY,GAAG,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAC,kBAAkB,EAAE,CAAA;
|
1
|
+
{"version":3,"file":"domain-resolver.js","sourceRoot":"","sources":["../../../server/service/domain/domain-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAmF;AACnF,qCAAuD;AAEvD,iDAA+C;AAE/C,uEAA2D;AAC3D,2DAAsD;AACtD,qCAAiC;AACjC,iDAAwD;AAGxD,IAAa,cAAc,GAA3B,MAAa,cAAc;IAGzB,KAAK,CAAC,MAAM,CAAY,EAAU;QAChC,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAA;QAExC,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACzC,CAAC;IAID,KAAK,CAAC,OAAO,CAAS,MAAiB,EAAS,OAAO;QACrD,MAAM,YAAY,GAAG,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAC,kBAAkB,EAAE,CAAA;QAE/D,IAAA,+BAAU,EAAC,YAAY,EAAE,MAAM,IAAI,EAAE,EAAE,OAAO,EAAE;YAC9C,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC;SAClD,CAAC,CAAA;QACF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGD,KAAK,CAAC,iBAAiB,CAAc,IAAY;QAC/C,MAAM,gBAAgB,GAAuB,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAA;QAClE,MAAM,eAAe,GAAW,IAAA,eAAO,EAAC,IAAI,CAAC,CAAA;QAE7C,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAA;QAChF,IAAI,SAAS,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;SACxC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAID,KAAK,CAAC,YAAY,CAAqB,WAAwB;QAC7D,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,WAAW,CAAA;QACzC,MAAM,UAAU,GAAuB,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAW,IAAA,eAAO,EAAC,IAAI,CAAC,CAAA;QAEvC,MAAM,MAAM,GAAW,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;QAC9D,IAAI,MAAM,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;SACxC;QAED,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAA;IAChE,CAAC;IAID,KAAK,CAAC,YAAY,CAAc,IAAY;QAC1C,OAAO,MAAM,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,CAAC;IAID,KAAK,CAAC,aAAa,CAA+B,KAAe;QAC/D,MAAM,OAAO,GAAa,MAAM,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAA,YAAE,EAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;QAC1F,MAAM,SAAS,GAAa,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAE5D,MAAM,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAC3D,CAAC;IAID,KAAK,CAAC,YAAY,CAAc,IAAY,EAAmC,KAAkB;QAC/F,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAA;QACxC,MAAM,MAAM,GAAW,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QAEzD,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,gCACxB,MAAM,GACN,KAAK,CACF,CAAC,CAAA;IACX,CAAC;IAID,KAAK,CAAC,aAAa,CAAsC,OAAsB;QAC7E,MAAM,UAAU,GAAuB,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAEzD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAC,YAAY,EAAC,EAAE;gBACpC,MAAM,MAAM,GAAW,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;gBAEnF,IAAI,YAAY,CAAC,IAAI,EAAE;oBACrB,YAAY,CAAC,SAAS,GAAG,IAAA,eAAO,EAAC,YAAY,CAAC,IAAI,CAAC,CAAA;iBACpD;gBAED,MAAM,UAAU,CAAC,IAAI,CAAC,gCACjB,MAAM,GACN,YAAY,CACT,CAAC,CAAA;YACX,CAAC,CAAC,CAAA;SACH;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAnGC;IAFC,IAAA,wBAAS,EAAC,yGAAyG,CAAC;IACpH,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,eAAM,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IAC/C,WAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;;;;4CAItB;AAID;IAFC,IAAA,wBAAS,EAAC,4EAA4E,CAAC;IACvF,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,yBAAU,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAC3D,WAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,WAAA,IAAA,kBAAG,GAAE,CAAA;;qCAAjB,sBAAS;;6CAUtC;AAGD;IADC,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;IACvD,WAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;;;;uDAUnC;AAID;IAFC,IAAA,wBAAS,EAAC,+EAA+E,CAAC;IAC1F,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,eAAM,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAC7C,WAAA,IAAA,kBAAG,EAAC,aAAa,CAAC,CAAA;;qCAAc,0BAAW;;kDAW9D;AAID;IAFC,IAAA,wBAAS,EAAC,+EAA+E,CAAC;IAC1F,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,eAAM,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAC7C,WAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;;;;kDAE9B;AAID;IAFC,IAAA,wBAAS,EAAC,+EAA+E,CAAC;IAC1F,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;IACvD,WAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;;;;mDAKhD;AAID;IAFC,IAAA,wBAAS,EAAC,yGAAyG,CAAC;IACpH,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,eAAM,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAC7C,WAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,WAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,0BAAW,CAAC,CAAA;;6CAAQ,0BAAW;;kDAQhG;AAID;IAFC,IAAA,wBAAS,EAAC,+EAA+E,CAAC;IAC1F,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;IACvD,WAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,0BAAW,CAAC,CAAC,CAAA;;;;mDAqBvD;AArGU,cAAc;IAD1B,IAAA,uBAAQ,EAAC,eAAM,CAAC;GACJ,cAAc,CAsG1B;AAtGY,wCAAc"}
|
@@ -59,14 +59,16 @@ function makeSortingParams(sortings) {
|
|
59
59
|
}
|
60
60
|
return result;
|
61
61
|
}
|
62
|
-
function makeFilterParams(filters) {
|
62
|
+
function makeFilterParams(filters, searchables) {
|
63
63
|
/* for where AND clauses */
|
64
64
|
const columnFilters = filters.filter(filter => filter.operator !== 'search');
|
65
65
|
const columnWhere = columnFilters.reduce((where, f) => {
|
66
66
|
where[f.name] = getOperatorFunction(f);
|
67
67
|
return where;
|
68
68
|
}, {});
|
69
|
-
const searchFilters =
|
69
|
+
const searchFilters = searchables instanceof Array
|
70
|
+
? filters.filter(filter => filter.operator === 'search' && searchables.includes(filter.name))
|
71
|
+
: [];
|
70
72
|
if (searchFilters.length === 0) {
|
71
73
|
return {
|
72
74
|
where: columnWhere
|
@@ -80,14 +82,24 @@ function makeFilterParams(filters) {
|
|
80
82
|
where: searchWheres
|
81
83
|
};
|
82
84
|
}
|
83
|
-
function convertListParams(params,
|
85
|
+
function convertListParams(params, options) {
|
86
|
+
var domainId;
|
87
|
+
if (options) {
|
88
|
+
if (typeof options === 'string' /* for 하위 호환성 */) {
|
89
|
+
var domainId = options;
|
90
|
+
}
|
91
|
+
else {
|
92
|
+
var { domain, searchables } = options;
|
93
|
+
var domainId = typeof domain === 'string' ? domain : domain === null || domain === void 0 ? void 0 : domain.id;
|
94
|
+
}
|
95
|
+
}
|
84
96
|
var { pagination, filters = [], sortings } = params;
|
85
97
|
var result = {};
|
86
|
-
if (
|
98
|
+
if (domainId) {
|
87
99
|
filters.push({
|
88
100
|
name: 'domain',
|
89
101
|
operator: 'eq',
|
90
|
-
value:
|
102
|
+
value: domainId
|
91
103
|
});
|
92
104
|
}
|
93
105
|
if (pagination)
|
@@ -95,7 +107,7 @@ function convertListParams(params, domain) {
|
|
95
107
|
if (sortings)
|
96
108
|
Object.assign(result, makeSortingParams(sortings));
|
97
109
|
if (filters)
|
98
|
-
Object.assign(result, makeFilterParams(filters));
|
110
|
+
Object.assign(result, makeFilterParams(filters, searchables));
|
99
111
|
return result;
|
100
112
|
}
|
101
113
|
exports.convertListParams = convertListParams;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"list-params-converter.js","sourceRoot":"","sources":["../../server/utils/list-params-converter.ts"],"names":[],"mappings":";;;AAAA,qCAAyF;
|
1
|
+
{"version":3,"file":"list-params-converter.js","sourceRoot":"","sources":["../../server/utils/list-params-converter.ts"],"names":[],"mappings":"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"}
|
@@ -4,10 +4,21 @@ exports.getQueryBuilderFromListParams = exports.buildQuery = void 0;
|
|
4
4
|
const typeorm_1 = require("typeorm");
|
5
5
|
const condition_builder_1 = require("./condition-builder");
|
6
6
|
const where_clause_builder_1 = require("./where-clause-builder");
|
7
|
-
|
7
|
+
/**
|
8
|
+
* @deprecated The name of this function does not imply an exact purpose and it is not possible to correspond to a foreign key using the meta information of the table column, so it is recommended to replace it with the A function.
|
9
|
+
*/
|
10
|
+
const buildQuery = function (queryBuilder, params, context, options) {
|
8
11
|
var _a, _b;
|
12
|
+
/* default value of domainRef is 'true' */
|
13
|
+
var domainRef = typeof options === 'boolean' ? options : true;
|
14
|
+
/* for backwards compatibility of function spec */
|
15
|
+
if (typeof options === 'object') {
|
16
|
+
var { domainRef = true, searchables } = options;
|
17
|
+
}
|
9
18
|
const columnFilters = ((_a = params.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => filter.operator !== 'search')) || [];
|
10
|
-
const searchFilters =
|
19
|
+
const searchFilters = searchables instanceof Array
|
20
|
+
? ((_b = params.filters) === null || _b === void 0 ? void 0 : _b.filter(filter => filter.operator === 'search' && searchables.includes(filter.name))) || []
|
21
|
+
: [];
|
11
22
|
const pagination = params.pagination;
|
12
23
|
const sortings = params.sortings;
|
13
24
|
const domainId = context && context.state.domain && context.state.domain.id;
|
@@ -51,11 +62,13 @@ const buildQuery = function (queryBuilder, params, context, domainRef = true) {
|
|
51
62
|
exports.buildQuery = buildQuery;
|
52
63
|
function getQueryBuilderFromListParams(options) {
|
53
64
|
var _a, _b;
|
54
|
-
var { repository, params, domain, alias } = options;
|
65
|
+
var { repository, params, domain, alias, searchables } = options;
|
55
66
|
const selectQueryBuilder = repository.createQueryBuilder(alias);
|
56
67
|
alias = selectQueryBuilder.alias;
|
57
68
|
const columnFilters = ((_a = params.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => filter.operator !== 'search')) || [];
|
58
|
-
const searchFilters =
|
69
|
+
const searchFilters = searchables instanceof Array
|
70
|
+
? ((_b = params.filters) === null || _b === void 0 ? void 0 : _b.filter(filter => filter.operator === 'search' && searchables.includes(filter.name))) || []
|
71
|
+
: [];
|
59
72
|
const pagination = params.pagination;
|
60
73
|
const sortings = params.sortings;
|
61
74
|
const metadata = repository.metadata;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"list-query-builder.js","sourceRoot":"","sources":["../../server/utils/list-query-builder.ts"],"names":[],"mappings":";;;AAAA,qCAAkE;AAIlE,2DAAoD;AACpD,iEAAyD;
|
1
|
+
{"version":3,"file":"list-query-builder.js","sourceRoot":"","sources":["../../server/utils/list-query-builder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@things-factory/shell",
|
3
|
-
"version": "5.0.0-alpha.
|
3
|
+
"version": "5.0.0-alpha.52",
|
4
4
|
"description": "Core module for framework",
|
5
5
|
"bin": {
|
6
6
|
"things-factory": "bin/things-factory",
|
@@ -44,16 +44,16 @@
|
|
44
44
|
"@material/mwc-icon-button": "^0.25.3",
|
45
45
|
"@material/mwc-slider": "^0.25.3",
|
46
46
|
"@material/mwc-textfield": "^0.25.3",
|
47
|
-
"@operato/board": "1.0.0-beta.
|
48
|
-
"@operato/graphql": "1.0.0-beta.
|
49
|
-
"@operato/help": "1.0.0-beta.
|
50
|
-
"@operato/layout": "1.0.0-beta.
|
51
|
-
"@operato/shell": "1.0.0-beta.
|
52
|
-
"@operato/utils": "1.0.0-beta.
|
53
|
-
"@things-factory/ejs-remote": "^5.0.0-alpha.
|
54
|
-
"@things-factory/env": "^5.0.0-alpha.
|
55
|
-
"@things-factory/styles": "^5.0.0-alpha.
|
56
|
-
"@things-factory/utils": "^5.0.0-alpha.
|
47
|
+
"@operato/board": "1.0.0-beta.26",
|
48
|
+
"@operato/graphql": "1.0.0-beta.26",
|
49
|
+
"@operato/help": "1.0.0-beta.26",
|
50
|
+
"@operato/layout": "1.0.0-beta.26",
|
51
|
+
"@operato/shell": "1.0.0-beta.26",
|
52
|
+
"@operato/utils": "1.0.0-beta.26",
|
53
|
+
"@things-factory/ejs-remote": "^5.0.0-alpha.52",
|
54
|
+
"@things-factory/env": "^5.0.0-alpha.52",
|
55
|
+
"@things-factory/styles": "^5.0.0-alpha.52",
|
56
|
+
"@things-factory/utils": "^5.0.0-alpha.52",
|
57
57
|
"@webcomponents/webcomponentsjs": "^2.6.0",
|
58
58
|
"@webpack-contrib/schema-utils": "^1.0.0-beta.0",
|
59
59
|
"apollo-server-core": "^3.6.4",
|
@@ -114,6 +114,7 @@
|
|
114
114
|
"sweetalert2": "^10.9.0",
|
115
115
|
"type-graphql": "^1.2.0-rc.1",
|
116
116
|
"typeorm": "^0.2.41",
|
117
|
+
"uuid": "^3.4.0",
|
117
118
|
"web-animations-js": "^2.3.2",
|
118
119
|
"web-push": "^3.4.5",
|
119
120
|
"webfontloader": "^1.6.28"
|
@@ -129,5 +130,5 @@
|
|
129
130
|
"resolutions": {
|
130
131
|
"core-js": "^3.16.0"
|
131
132
|
},
|
132
|
-
"gitHead": "
|
133
|
+
"gitHead": "dd9c8f2e256e256e42bd9bd26db5eaa955f85620"
|
133
134
|
}
|
@@ -22,7 +22,11 @@ export class DomainResolver {
|
|
22
22
|
@Query(returns => DomainList, { description: 'To fetch multiple domain' })
|
23
23
|
async domains(@Args() params: ListParam, @Ctx() context): Promise<DomainList> {
|
24
24
|
const queryBuilder = getRepository(Domain).createQueryBuilder()
|
25
|
-
|
25
|
+
|
26
|
+
buildQuery(queryBuilder, params || {}, context, {
|
27
|
+
domainRef: false,
|
28
|
+
searchables: ['name', 'description', 'subdomain']
|
29
|
+
})
|
26
30
|
const [items, total] = await queryBuilder.getManyAndCount()
|
27
31
|
|
28
32
|
return { items, total }
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { Between, Equal, FindOperator, ILike, In, IsNull, Like, Not, Raw } from 'typeorm'
|
2
2
|
|
3
3
|
import { Filter, ListParam, Pagination, Sorting } from '../service/common-types'
|
4
|
+
import { Domain } from '../service/domain/domain'
|
4
5
|
|
5
6
|
const OPERATION_FUNCTION_MAP: { [operator: string]: (value: any) => FindOperator<any> } = {
|
6
7
|
search: value => ILike(value),
|
@@ -67,7 +68,10 @@ function makeSortingParams(sortings: Sorting[]): { order?: { [name: string]: 'DE
|
|
67
68
|
return result
|
68
69
|
}
|
69
70
|
|
70
|
-
function makeFilterParams(
|
71
|
+
function makeFilterParams(
|
72
|
+
filters: Filter[],
|
73
|
+
searchables?: string[]
|
74
|
+
): {
|
71
75
|
where: { [name: string]: FindOperator<any> } | { [name: string]: FindOperator<any> }[]
|
72
76
|
} {
|
73
77
|
/* for where AND clauses */
|
@@ -77,7 +81,11 @@ function makeFilterParams(filters: Filter[]): {
|
|
77
81
|
return where
|
78
82
|
}, {} as { [name: string]: FindOperator<any> })
|
79
83
|
|
80
|
-
const searchFilters =
|
84
|
+
const searchFilters =
|
85
|
+
searchables instanceof Array
|
86
|
+
? filters.filter(filter => filter.operator === 'search' && searchables.includes(filter.name))
|
87
|
+
: []
|
88
|
+
|
81
89
|
if (searchFilters.length === 0) {
|
82
90
|
return {
|
83
91
|
where: columnWhere
|
@@ -99,7 +107,12 @@ function makeFilterParams(filters: Filter[]): {
|
|
99
107
|
|
100
108
|
export function convertListParams(
|
101
109
|
params: ListParam,
|
102
|
-
|
110
|
+
options?:
|
111
|
+
| string
|
112
|
+
| {
|
113
|
+
domain?: string | Domain
|
114
|
+
searchables?: string[]
|
115
|
+
}
|
103
116
|
): {
|
104
117
|
where?: { [name: string]: FindOperator<any> }
|
105
118
|
order?: {
|
@@ -108,20 +121,31 @@ export function convertListParams(
|
|
108
121
|
skip?: number
|
109
122
|
take?: number
|
110
123
|
} {
|
124
|
+
var domainId: string | undefined
|
125
|
+
|
126
|
+
if (options) {
|
127
|
+
if (typeof options === 'string' /* for 하위 호환성 */) {
|
128
|
+
var domainId = options
|
129
|
+
} else {
|
130
|
+
var { domain, searchables } = options
|
131
|
+
var domainId = typeof domain === 'string' ? domain : domain?.id
|
132
|
+
}
|
133
|
+
}
|
134
|
+
|
111
135
|
var { pagination, filters = [], sortings } = params
|
112
136
|
var result = {}
|
113
137
|
|
114
|
-
if (
|
138
|
+
if (domainId) {
|
115
139
|
filters.push({
|
116
140
|
name: 'domain',
|
117
141
|
operator: 'eq',
|
118
|
-
value:
|
142
|
+
value: domainId
|
119
143
|
})
|
120
144
|
}
|
121
145
|
|
122
146
|
if (pagination) Object.assign(result, makePaginationParams(pagination))
|
123
147
|
if (sortings) Object.assign(result, makeSortingParams(sortings))
|
124
|
-
if (filters) Object.assign(result, makeFilterParams(filters))
|
148
|
+
if (filters) Object.assign(result, makeFilterParams(filters, searchables))
|
125
149
|
|
126
150
|
return result
|
127
151
|
}
|
@@ -5,9 +5,33 @@ import { Domain } from '../service/domain/domain'
|
|
5
5
|
import { buildCondition } from './condition-builder'
|
6
6
|
import { buildWhereClause } from './where-clause-builder'
|
7
7
|
|
8
|
-
|
8
|
+
/**
|
9
|
+
* @deprecated The name of this function does not imply an exact purpose and it is not possible to correspond to a foreign key using the meta information of the table column, so it is recommended to replace it with the A function.
|
10
|
+
*/
|
11
|
+
export const buildQuery = function (
|
12
|
+
queryBuilder: any,
|
13
|
+
params: any,
|
14
|
+
context: any,
|
15
|
+
options?:
|
16
|
+
| boolean
|
17
|
+
| {
|
18
|
+
domainRef?: boolean
|
19
|
+
searchables?: string[]
|
20
|
+
}
|
21
|
+
) {
|
22
|
+
/* default value of domainRef is 'true' */
|
23
|
+
var domainRef = typeof options === 'boolean' ? options : true
|
24
|
+
|
25
|
+
/* for backwards compatibility of function spec */
|
26
|
+
if (typeof options === 'object') {
|
27
|
+
var { domainRef = true, searchables } = options
|
28
|
+
}
|
29
|
+
|
9
30
|
const columnFilters = params.filters?.filter(filter => filter.operator !== 'search') || []
|
10
|
-
const searchFilters =
|
31
|
+
const searchFilters =
|
32
|
+
searchables instanceof Array
|
33
|
+
? params.filters?.filter(filter => filter.operator === 'search' && searchables.includes(filter.name)) || []
|
34
|
+
: []
|
11
35
|
const pagination = params.pagination
|
12
36
|
const sortings = params.sortings
|
13
37
|
const domainId = context && context.state.domain && context.state.domain.id
|
@@ -67,13 +91,17 @@ export function getQueryBuilderFromListParams<Type>(options: {
|
|
67
91
|
params: any
|
68
92
|
domain?: Domain
|
69
93
|
alias?: string
|
94
|
+
searchables?: string[]
|
70
95
|
}): SelectQueryBuilder<Type> {
|
71
|
-
var { repository, params, domain, alias } = options
|
96
|
+
var { repository, params, domain, alias, searchables } = options
|
72
97
|
const selectQueryBuilder = repository.createQueryBuilder(alias)
|
73
98
|
alias = selectQueryBuilder.alias
|
74
99
|
|
75
100
|
const columnFilters = params.filters?.filter(filter => filter.operator !== 'search') || []
|
76
|
-
const searchFilters =
|
101
|
+
const searchFilters =
|
102
|
+
searchables instanceof Array
|
103
|
+
? params.filters?.filter(filter => filter.operator === 'search' && searchables.includes(filter.name)) || []
|
104
|
+
: []
|
77
105
|
const pagination = params.pagination
|
78
106
|
const sortings = params.sortings
|
79
107
|
|