@things-factory/shell 4.3.544-alpha.0 → 4.3.671

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.
Files changed (90) hide show
  1. package/package.json +8 -8
  2. package/server/index.ts +2 -0
  3. package/server/server-dev.ts +8 -1
  4. package/bin/things-factory-dockerize-arm +0 -15
  5. package/dist-server/graphql-local-client.js +0 -36
  6. package/dist-server/graphql-local-client.js.map +0 -1
  7. package/dist-server/index.js +0 -25
  8. package/dist-server/index.js.map +0 -1
  9. package/dist-server/initializers/database.js +0 -30
  10. package/dist-server/initializers/database.js.map +0 -1
  11. package/dist-server/initializers/naming-strategy.js +0 -19
  12. package/dist-server/initializers/naming-strategy.js.map +0 -1
  13. package/dist-server/middlewares/domain-middleware.js +0 -23
  14. package/dist-server/middlewares/domain-middleware.js.map +0 -1
  15. package/dist-server/middlewares/index.js +0 -59
  16. package/dist-server/middlewares/index.js.map +0 -1
  17. package/dist-server/migrations/1000000000000-SeedDomain.js +0 -29
  18. package/dist-server/migrations/1000000000000-SeedDomain.js.map +0 -1
  19. package/dist-server/migrations/index.js +0 -12
  20. package/dist-server/migrations/index.js.map +0 -1
  21. package/dist-server/pubsub-log-transport.js +0 -27
  22. package/dist-server/pubsub-log-transport.js.map +0 -1
  23. package/dist-server/pubsub.js +0 -84
  24. package/dist-server/pubsub.js.map +0 -1
  25. package/dist-server/routers/domain-router.js +0 -20
  26. package/dist-server/routers/domain-router.js.map +0 -1
  27. package/dist-server/routers/global-router.js +0 -47
  28. package/dist-server/routers/global-router.js.map +0 -1
  29. package/dist-server/routers/index.js +0 -19
  30. package/dist-server/routers/index.js.map +0 -1
  31. package/dist-server/schema.js +0 -109
  32. package/dist-server/schema.js.map +0 -1
  33. package/dist-server/server-dev.js +0 -210
  34. package/dist-server/server-dev.js.map +0 -1
  35. package/dist-server/server.js +0 -177
  36. package/dist-server/server.js.map +0 -1
  37. package/dist-server/service/common-types/index.js +0 -23
  38. package/dist-server/service/common-types/index.js.map +0 -1
  39. package/dist-server/service/common-types/list-param.js +0 -83
  40. package/dist-server/service/common-types/list-param.js.map +0 -1
  41. package/dist-server/service/common-types/log.js +0 -37
  42. package/dist-server/service/common-types/log.js.map +0 -1
  43. package/dist-server/service/common-types/object-ref.js +0 -32
  44. package/dist-server/service/common-types/object-ref.js.map +0 -1
  45. package/dist-server/service/common-types/scalar-any.js +0 -45
  46. package/dist-server/service/common-types/scalar-any.js.map +0 -1
  47. package/dist-server/service/common-types/scalar-date.js +0 -25
  48. package/dist-server/service/common-types/scalar-date.js.map +0 -1
  49. package/dist-server/service/common-types/scalar-object.js +0 -18
  50. package/dist-server/service/common-types/scalar-object.js.map +0 -1
  51. package/dist-server/service/directive-transaction/index.js +0 -18
  52. package/dist-server/service/directive-transaction/index.js.map +0 -1
  53. package/dist-server/service/directive-transaction/transaction.js +0 -35
  54. package/dist-server/service/directive-transaction/transaction.js.map +0 -1
  55. package/dist-server/service/domain/domain-resolver.js +0 -150
  56. package/dist-server/service/domain/domain-resolver.js.map +0 -1
  57. package/dist-server/service/domain/domain-types.js +0 -89
  58. package/dist-server/service/domain/domain-types.js.map +0 -1
  59. package/dist-server/service/domain/domain.js +0 -113
  60. package/dist-server/service/domain/domain.js.map +0 -1
  61. package/dist-server/service/domain/index.js +0 -8
  62. package/dist-server/service/domain/index.js.map +0 -1
  63. package/dist-server/service/index.js +0 -45
  64. package/dist-server/service/index.js.map +0 -1
  65. package/dist-server/service/subscription-data/data-resolver.js +0 -62
  66. package/dist-server/service/subscription-data/data-resolver.js.map +0 -1
  67. package/dist-server/service/subscription-data/data-types.js +0 -35
  68. package/dist-server/service/subscription-data/data-types.js.map +0 -1
  69. package/dist-server/service/subscription-data/index.js +0 -7
  70. package/dist-server/service/subscription-data/index.js.map +0 -1
  71. package/dist-server/utils/condition-builder.js +0 -126
  72. package/dist-server/utils/condition-builder.js.map +0 -1
  73. package/dist-server/utils/get-domain.js +0 -128
  74. package/dist-server/utils/get-domain.js.map +0 -1
  75. package/dist-server/utils/index.js +0 -22
  76. package/dist-server/utils/index.js.map +0 -1
  77. package/dist-server/utils/list-params-converter.js +0 -102
  78. package/dist-server/utils/list-params-converter.js.map +0 -1
  79. package/dist-server/utils/list-query-builder.js +0 -51
  80. package/dist-server/utils/list-query-builder.js.map +0 -1
  81. package/dist-server/utils/publish-progress.js +0 -18
  82. package/dist-server/utils/publish-progress.js.map +0 -1
  83. package/dist-server/webpack/koa-webpack/client.js +0 -24
  84. package/dist-server/webpack/koa-webpack/client.js.map +0 -1
  85. package/dist-server/webpack/koa-webpack/index.js +0 -58
  86. package/dist-server/webpack/koa-webpack/index.js.map +0 -1
  87. package/dist-server/webpack/koa-webpack/middleware.js +0 -42
  88. package/dist-server/webpack/koa-webpack/middleware.js.map +0 -1
  89. package/dist-server/webpack/koa-webpack/validate.js +0 -26
  90. package/dist-server/webpack/koa-webpack/validate.js.map +0 -1
@@ -1,45 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.schema = exports.entities = void 0;
18
- const directive_transaction_1 = require("./directive-transaction");
19
- const domain_1 = require("./domain");
20
- const subscription_data_1 = require("./subscription-data");
21
- __exportStar(require("./common-types"), exports);
22
- __exportStar(require("./domain/domain"), exports);
23
- /* EXPORT TYPES */
24
- __exportStar(require("./domain/domain-types"), exports);
25
- __exportStar(require("./subscription-data/data-types"), exports);
26
- exports.entities = [
27
- /* Entities */
28
- ...domain_1.entities,
29
- ...domain_1.entities
30
- ];
31
- exports.schema = {
32
- typeDefs: {
33
- transactionDirectiveTypeDefs: directive_transaction_1.transactionDirectiveTypeDefs
34
- },
35
- resolverClasses: [
36
- /* Resolvers */
37
- ...domain_1.resolvers,
38
- ...domain_1.resolvers,
39
- ...subscription_data_1.resolvers
40
- ],
41
- directives: {
42
- transaction: directive_transaction_1.transactionDirectiveResolver
43
- }
44
- };
45
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mEAAoG;AACpG,qCAKiB;AACjB,2DAA4E;AAE5E,iDAA8B;AAC9B,kDAA+B;AAE/B,kBAAkB;AAClB,wDAAqC;AACrC,iEAA8C;AAEjC,QAAA,QAAQ,GAAG;IACtB,cAAc;IACd,GAAG,iBAAY;IACf,GAAG,iBAAc;CAClB,CAAA;AACY,QAAA,MAAM,GAAG;IACpB,QAAQ,EAAE;QACR,4BAA4B,EAA5B,oDAA4B;KAC7B;IACD,eAAe,EAAE;QACf,eAAe;QACf,GAAG,kBAAa;QAChB,GAAG,kBAAe;QAClB,GAAG,6BAAyB;KAC7B;IACD,UAAU,EAAE;QACV,WAAW,EAAE,oDAA4B;KAC1C;CACF,CAAA"}
@@ -1,62 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.DataResolver = void 0;
16
- const type_graphql_1 = require("type-graphql");
17
- const pubsub_1 = require("../../pubsub");
18
- const graphql_subscriptions_1 = require("graphql-subscriptions");
19
- const data_types_1 = require("./data-types");
20
- const debug = require('debug')('things-factory:shell:data-subscription');
21
- let DataResolver = class DataResolver {
22
- data(payload, tag) {
23
- return payload.data;
24
- }
25
- };
26
- __decorate([
27
- (0, type_graphql_1.Subscription)({
28
- subscribe: (_, args, context, info) => {
29
- var _a;
30
- const { domain, user } = context.state;
31
- const { tag } = args;
32
- const subdomain = domain === null || domain === void 0 ? void 0 : domain.subdomain;
33
- debug('subscribe', subdomain, tag);
34
- if (!domain || !tag) {
35
- throw new Error('domain and tag required');
36
- }
37
- if (!((_a = user.domains) === null || _a === void 0 ? void 0 : _a.find(d => d.subdomain === subdomain))) {
38
- throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`);
39
- }
40
- return (0, graphql_subscriptions_1.withFilter)(() => pubsub_1.pubsub.asyncIterator('data'), (payload, variables, context, info) => {
41
- const { domain: pdomain, tag } = payload.data;
42
- if (tag !== variables.tag) {
43
- return false;
44
- }
45
- if (subdomain !== (pdomain === null || pdomain === void 0 ? void 0 : pdomain.subdomain)) {
46
- return false;
47
- }
48
- return true;
49
- })(_, args, context, info);
50
- }
51
- }),
52
- __param(0, (0, type_graphql_1.Root)()),
53
- __param(1, (0, type_graphql_1.Arg)('tag')),
54
- __metadata("design:type", Function),
55
- __metadata("design:paramtypes", [Object, String]),
56
- __metadata("design:returntype", data_types_1.Data)
57
- ], DataResolver.prototype, "data", null);
58
- DataResolver = __decorate([
59
- (0, type_graphql_1.Resolver)()
60
- ], DataResolver);
61
- exports.DataResolver = DataResolver;
62
- //# sourceMappingURL=data-resolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-resolver.js","sourceRoot":"","sources":["../../../server/service/subscription-data/data-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,yCAAqC;AACrC,iEAAkD;AAClD,6CAAmC;AAEnC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,wCAAwC,CAAC,CAAA;AAGjE,IAAM,YAAY,GAAlB,MAAM,YAAY;IAmCvB,IAAI,CAAS,OAAuB,EAAc,GAAW;QAC3D,OAAO,OAAO,CAAC,IAAI,CAAA;IACrB,CAAC;CACF,CAAA;AArCC;IAAC,IAAA,2BAAY,EAAC;QACZ,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;;YACpC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YACtC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;YACpB,MAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;YAEnC,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,CAAA;YAElC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE;gBACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;aAC3C;YAED,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA,EAAE;gBACvD,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,6BAA6B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;aAChF;YAED,OAAO,IAAA,kCAAU,EACf,GAAG,EAAE,CAAC,eAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAClC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;gBACpC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAA;gBAE7C,IAAI,GAAG,KAAK,SAAS,CAAC,GAAG,EAAE;oBACzB,OAAO,KAAK,CAAA;iBACb;gBAED,IAAI,SAAS,MAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAA,EAAE;oBACpC,OAAO,KAAK,CAAA;iBACb;gBAED,OAAO,IAAI,CAAA;YACb,CAAC,CACF,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAC3B,CAAC;KACF,CAAC;IACI,WAAA,IAAA,mBAAI,GAAE,CAAA;IAA2B,WAAA,IAAA,kBAAG,EAAC,KAAK,CAAC,CAAA;;;oCAAe,iBAAI;wCAEnE;AArCU,YAAY;IADxB,IAAA,uBAAQ,GAAE;GACE,YAAY,CAsCxB;AAtCY,oCAAY"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Data = void 0;
13
- const type_graphql_1 = require("type-graphql");
14
- const scalar_object_1 = require("../common-types/scalar-object");
15
- const domain_1 = require("../domain/domain");
16
- const debug = require('debug')('things-factory:integraton-base:subscribe-data');
17
- let Data = class Data {
18
- };
19
- __decorate([
20
- (0, type_graphql_1.Field)(type => domain_1.Domain, { nullable: true, description: 'The domain where the data originated' }),
21
- __metadata("design:type", domain_1.Domain)
22
- ], Data.prototype, "domain", void 0);
23
- __decorate([
24
- (0, type_graphql_1.Field)({ description: 'Tag name attached to data' }),
25
- __metadata("design:type", String)
26
- ], Data.prototype, "tag", void 0);
27
- __decorate([
28
- (0, type_graphql_1.Field)(type => scalar_object_1.ScalarObject, { nullable: true, description: 'Data delivered by subscription' }),
29
- __metadata("design:type", Object)
30
- ], Data.prototype, "data", void 0);
31
- Data = __decorate([
32
- (0, type_graphql_1.ObjectType)()
33
- ], Data);
34
- exports.Data = Data;
35
- //# sourceMappingURL=data-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-types.js","sourceRoot":"","sources":["../../../server/service/subscription-data/data-types.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAgD;AAChD,iEAA4D;AAC5D,6CAAyC;AAEzC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,+CAA+C,CAAC,CAAA;AAGxE,IAAM,IAAI,GAAV,MAAM,IAAI;CAShB,CAAA;AARC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,eAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,sCAAsC,EAAE,CAAC;8BACtF,eAAM;oCAAA;AAEf;IAAC,IAAA,oBAAK,EAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;;iCACzC;AAEX;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,4BAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;8BACxF,MAAM;kCAAA;AARF,IAAI;IADhB,IAAA,yBAAU,GAAE;GACA,IAAI,CAShB;AATY,oBAAI"}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolvers = exports.entities = void 0;
4
- const data_resolver_1 = require("./data-resolver");
5
- exports.entities = [];
6
- exports.resolvers = [data_resolver_1.DataResolver];
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/subscription-data/index.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAEjC,QAAA,QAAQ,GAAG,EAAE,CAAA;AACb,QAAA,SAAS,GAAG,CAAC,4BAAY,CAAC,CAAA"}
@@ -1,126 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.buildCondition = void 0;
7
- const lodash_1 = __importDefault(require("lodash"));
8
- const buildCondition = function (alias, fieldName, operator, value, relation, seq) {
9
- seq++;
10
- fieldName = lodash_1.default.snakeCase(fieldName);
11
- switch (operator) {
12
- case 'eq':
13
- return {
14
- clause: `${alias}.${fieldName} = :args${seq}`,
15
- parameters: { [`args${seq}`]: value }
16
- };
17
- case 'like':
18
- return {
19
- clause: `${alias}.${fieldName} LIKE :args${seq}`,
20
- parameters: { [`args${seq}`]: `${value}` }
21
- };
22
- case 'search':
23
- case 'i_like':
24
- return {
25
- clause: `LOWER(${alias}.${fieldName}) LIKE :args${seq}`,
26
- parameters: { [`args${seq}`]: `${String(value).toLowerCase()}` }
27
- };
28
- case 'nlike':
29
- return {
30
- clause: `${alias}.${fieldName} NOT LIKE :args${seq}`,
31
- value: { [`args${seq}`]: `${value}` }
32
- };
33
- case 'i_nlike':
34
- return {
35
- clause: `LOWER(${alias}.${fieldName}) NOT LIKE :args${seq}`,
36
- value: { [`args${seq}`]: `${String(value).toLowerCase()}` }
37
- };
38
- case 'lt':
39
- return {
40
- clause: `${alias}.${fieldName} < :args${seq}`,
41
- parameters: { [`args${seq}`]: value }
42
- };
43
- case 'gt':
44
- return {
45
- clause: `${alias}.${fieldName} > :args${seq}`,
46
- parameters: { [`args${seq}`]: value }
47
- };
48
- case 'lte':
49
- return {
50
- clause: `${alias}.${fieldName} <= :args${seq}`,
51
- parameters: { [`args${seq}`]: value }
52
- };
53
- case 'gte':
54
- return {
55
- clause: `${alias}.${fieldName} >= :args${seq}`,
56
- parameters: { [`args${seq}`]: value }
57
- };
58
- case 'noteq':
59
- return {
60
- clause: `${alias}.${fieldName} != :args${seq}`,
61
- parameters: { [`args${seq}`]: value }
62
- };
63
- case 'in':
64
- const clause = relation ? `${fieldName}.id IN (:...args${seq})` : `${alias}.${fieldName} IN (:...args${seq})`;
65
- value = (value === null || value === void 0 ? void 0 : value.length) ? value : [value];
66
- return {
67
- clause,
68
- parameters: { [`args${seq}`]: value }
69
- };
70
- case 'notin':
71
- value = (value === null || value === void 0 ? void 0 : value.length) ? value : [value];
72
- return {
73
- clause: `${alias}.${fieldName} NOT IN (:...args${seq})`,
74
- parameters: { [`args${seq}`]: value }
75
- };
76
- case 'notin_with_null':
77
- value = (value === null || value === void 0 ? void 0 : value.length) ? value : [value];
78
- return {
79
- clause: `(${alias}.${fieldName} IS NULL OR ${alias}.${fieldName} NOT IN (:...args${seq}))`,
80
- parameters: { [`args${seq}`]: value }
81
- };
82
- case 'is_null':
83
- return {
84
- clause: `${alias}.${fieldName} IS NULL`
85
- };
86
- case 'is_not_null':
87
- return {
88
- clause: `${alias}.${fieldName} IS NOT NULL`
89
- };
90
- case 'is_false':
91
- return {
92
- clause: `${alias}.${fieldName} IS FALSE`
93
- };
94
- case 'is_true':
95
- return {
96
- clause: `${alias}.${fieldName} IS TRUE`
97
- };
98
- case 'is_not_false':
99
- return {
100
- clause: `${alias}.${fieldName} IS NOT FALSE`
101
- };
102
- case 'is_not_true':
103
- return {
104
- clause: `${alias}.${fieldName} IS NOT TRUE`
105
- };
106
- case 'is_present':
107
- return {
108
- clause: `${alias}.${fieldName} IS PRESENT`
109
- };
110
- case 'is_blank':
111
- return {
112
- clause: `${alias}.${fieldName} IS BLANK`
113
- };
114
- case 'is_empty_num_id':
115
- return {
116
- clause: `${alias}.${fieldName} IS EMPTY NUMERIC ID`
117
- };
118
- case 'between':
119
- return {
120
- clause: `${alias}.${fieldName} BETWEEN :args${seq}_1 AND :args${seq}_2`,
121
- parameters: { [`args${seq}_1`]: value[0], [`args${seq}_2`]: value[1] }
122
- };
123
- }
124
- };
125
- exports.buildCondition = buildCondition;
126
- //# sourceMappingURL=condition-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"condition-builder.js","sourceRoot":"","sources":["../../server/utils/condition-builder.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsB;AAEf,MAAM,cAAc,GAAG,UAC5B,KAAa,EACb,SAAiB,EACjB,QAAgB,EAChB,KAAU,EACV,QAAiB,EACjB,GAAW;IAEX,GAAG,EAAE,CAAA;IAEL,SAAS,GAAG,gBAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAElC,QAAQ,QAAQ,EAAE;QAChB,KAAK,IAAI;YACP,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,WAAW,GAAG,EAAE;gBAC7C,UAAU,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE;aACtC,CAAA;QAEH,KAAK,MAAM;YACT,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,cAAc,GAAG,EAAE;gBAChD,UAAU,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE;aAC3C,CAAA;QAEH,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,OAAO;gBACL,MAAM,EAAE,SAAS,KAAK,IAAI,SAAS,eAAe,GAAG,EAAE;gBACvD,UAAU,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE;aACjE,CAAA;QAEH,KAAK,OAAO;YACV,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,kBAAkB,GAAG,EAAE;gBACpD,KAAK,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE;aACtC,CAAA;QAEH,KAAK,SAAS;YACZ,OAAO;gBACL,MAAM,EAAE,SAAS,KAAK,IAAI,SAAS,mBAAmB,GAAG,EAAE;gBAC3D,KAAK,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE;aAC5D,CAAA;QAEH,KAAK,IAAI;YACP,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,WAAW,GAAG,EAAE;gBAC7C,UAAU,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE;aACtC,CAAA;QAEH,KAAK,IAAI;YACP,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,WAAW,GAAG,EAAE;gBAC7C,UAAU,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE;aACtC,CAAA;QAEH,KAAK,KAAK;YACR,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,YAAY,GAAG,EAAE;gBAC9C,UAAU,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE;aACtC,CAAA;QAEH,KAAK,KAAK;YACR,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,YAAY,GAAG,EAAE;gBAC9C,UAAU,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE;aACtC,CAAA;QAEH,KAAK,OAAO;YACV,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,YAAY,GAAG,EAAE;gBAC9C,UAAU,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE;aACtC,CAAA;QAEH,KAAK,IAAI;YACP,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,mBAAmB,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,SAAS,gBAAgB,GAAG,GAAG,CAAA;YAC7G,KAAK,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACvC,OAAO;gBACL,MAAM;gBACN,UAAU,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE;aACtC,CAAA;QACH,KAAK,OAAO;YACV,KAAK,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACvC,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,oBAAoB,GAAG,GAAG;gBACvD,UAAU,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE;aACtC,CAAA;QAEH,KAAK,iBAAiB;YACpB,KAAK,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACvC,OAAO;gBACL,MAAM,EAAE,IAAI,KAAK,IAAI,SAAS,eAAe,KAAK,IAAI,SAAS,oBAAoB,GAAG,IAAI;gBAC1F,UAAU,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE;aACtC,CAAA;QAEH,KAAK,SAAS;YACZ,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,UAAU;aACxC,CAAA;QACH,KAAK,aAAa;YAChB,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,cAAc;aAC5C,CAAA;QACH,KAAK,UAAU;YACb,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,WAAW;aACzC,CAAA;QACH,KAAK,SAAS;YACZ,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,UAAU;aACxC,CAAA;QACH,KAAK,cAAc;YACjB,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,eAAe;aAC7C,CAAA;QACH,KAAK,aAAa;YAChB,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,cAAc;aAC5C,CAAA;QACH,KAAK,YAAY;YACf,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,aAAa;aAC3C,CAAA;QACH,KAAK,UAAU;YACb,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,WAAW;aACzC,CAAA;QACH,KAAK,iBAAiB;YACpB,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,sBAAsB;aACpD,CAAA;QAEH,KAAK,SAAS;YACZ,OAAO;gBACL,MAAM,EAAE,GAAG,KAAK,IAAI,SAAS,kBAAkB,GAAG,eAAe,GAAG,IAAI;gBACxE,UAAU,EAAE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;aACvE,CAAA;KACJ;AACH,CAAC,CAAA;AA1IY,QAAA,cAAc,kBA0I1B"}
@@ -1,128 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSiteRootPath = exports.findSubdomainFromPath = exports.getRedirectSubdomainPath = exports.getContextPath = exports.getCookieDomainFromHostname = exports.getDomainFromURL = exports.getUrlFromContext = void 0;
4
- const env_1 = require("@things-factory/env");
5
- const utils_1 = require("@things-factory/utils");
6
- const typeorm_1 = require("typeorm");
7
- const url_1 = require("url");
8
- const domain_1 = require("../service/domain/domain");
9
- const useVirtualHostBasedDomain = !!env_1.config.get('useVirtualHostBasedDomain');
10
- const protocol = env_1.config.get('protocol');
11
- const fixed = env_1.config.get('subdomain');
12
- const subdomainOffset = env_1.config.getNumber('subdomainOffset', 2);
13
- const debug = require('debug')('things-factory:shell:get-domain');
14
- function getUrlFromContext(context, path = '') {
15
- const { method, href, host } = context;
16
- const { referer } = context.header;
17
- var base = href;
18
- if (method !== 'GET' && referer) {
19
- var { host: refererHost } = new url_1.URL(referer);
20
- if (refererHost === host) {
21
- base = referer;
22
- }
23
- }
24
- debug('get-url-from-context', method, base);
25
- let url = new url_1.URL(path, base);
26
- url.protocol = protocol || url.protocol;
27
- return url;
28
- }
29
- exports.getUrlFromContext = getUrlFromContext;
30
- function getSubdomainsFromHost(context) {
31
- const { request } = context;
32
- var subdomains = request.headers.host.split('.').reverse();
33
- return subdomains.slice(subdomainOffset);
34
- }
35
- function getSubdomainFromPath(context) {
36
- var _a, _b;
37
- var { path } = context;
38
- var domain = (_a = (0, utils_1.getPathInfo)(path || '')) === null || _a === void 0 ? void 0 : _a.domain;
39
- if (domain) {
40
- return domain;
41
- }
42
- var { host, header: { referer } } = context;
43
- if (referer) {
44
- var { host: refererHost, pathname } = new url_1.URL(referer);
45
- if (refererHost === host) {
46
- return (_b = (0, utils_1.getPathInfo)(pathname || '')) === null || _b === void 0 ? void 0 : _b.domain;
47
- }
48
- }
49
- }
50
- function getSubdomainFromVhost(context) {
51
- const subdomain = (context.subdomains || getSubdomainsFromHost(context)).slice(-1)[0];
52
- return subdomain;
53
- }
54
- function getSubdomainFromURL(context) {
55
- return fixed || (useVirtualHostBasedDomain ? getSubdomainFromVhost(context) : getSubdomainFromPath(context));
56
- }
57
- async function getDomainFromURL(context) {
58
- const { header } = context;
59
- const subdomain = header['x-things-factory-domain'] || getSubdomainFromURL(context);
60
- if (subdomain) {
61
- return await (0, typeorm_1.getRepository)(domain_1.Domain).findOne({ subdomain }, { cache: true });
62
- }
63
- }
64
- exports.getDomainFromURL = getDomainFromURL;
65
- function getCookieDomainFromHostname(hostname) {
66
- if (useVirtualHostBasedDomain) {
67
- return hostname.split('.').slice(-subdomainOffset).join('.');
68
- }
69
- }
70
- exports.getCookieDomainFromHostname = getCookieDomainFromHostname;
71
- function getContextPath(subdomain) {
72
- return fixed || useVirtualHostBasedDomain ? '' : '/domain/' + subdomain;
73
- }
74
- exports.getContextPath = getContextPath;
75
- function getRedirectSubdomainPath(context, subdomain, redirectTo = '/') {
76
- if (fixed) {
77
- return redirectTo || '/';
78
- }
79
- var parsed = getUrlFromContext(context, redirectTo);
80
- var { hostname, pathname } = parsed;
81
- if (useVirtualHostBasedDomain) {
82
- const splitHost = hostname.split('.').reverse();
83
- splitHost[subdomainOffset] = subdomain;
84
- parsed.hostname = splitHost
85
- .reverse()
86
- .filter(a => a)
87
- .join('.');
88
- }
89
- else {
90
- const contextPath = `/domain/${subdomain}`;
91
- const match = pathname.match(/^\/domain\/([^\/]+)/);
92
- if (match) {
93
- parsed.pathname = pathname.replace(match[0], contextPath);
94
- }
95
- else {
96
- parsed.pathname = `${contextPath}${pathname}`;
97
- }
98
- }
99
- debug('get-redirect-subdomain-path', parsed.toString());
100
- return parsed.toString();
101
- }
102
- exports.getRedirectSubdomainPath = getRedirectSubdomainPath;
103
- function findSubdomainFromPath(context, path) {
104
- if (fixed) {
105
- return fixed;
106
- }
107
- var parsed = getUrlFromContext(context, path);
108
- var { hostname, pathname } = parsed;
109
- if (useVirtualHostBasedDomain) {
110
- return hostname.split('.').reverse()[subdomainOffset];
111
- }
112
- const match = pathname.match(/^\/domain\/([^\/]+)/);
113
- return match && match[1];
114
- }
115
- exports.findSubdomainFromPath = findSubdomainFromPath;
116
- function getSiteRootPath(context) {
117
- if (useVirtualHostBasedDomain) {
118
- var { protocol, host } = context;
119
- protocol = protocol.replace(':', '');
120
- let domainname = host.split('.').slice(-subdomainOffset).join('.');
121
- return protocol + '://' + domainname + '/';
122
- }
123
- else {
124
- return '/';
125
- }
126
- }
127
- exports.getSiteRootPath = getSiteRootPath;
128
- //# sourceMappingURL=get-domain.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-domain.js","sourceRoot":"","sources":["../../server/utils/get-domain.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./get-domain"), exports);
18
- __exportStar(require("./condition-builder"), exports);
19
- __exportStar(require("./list-query-builder"), exports);
20
- __exportStar(require("./list-params-converter"), exports);
21
- __exportStar(require("./publish-progress"), exports);
22
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,sDAAmC;AACnC,uDAAoC;AACpC,0DAAuC;AACvC,qDAAkC"}
@@ -1,102 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertListParams = void 0;
4
- const typeorm_1 = require("typeorm");
5
- const OPERATION_FUNCTION_MAP = {
6
- search: value => (0, typeorm_1.ILike)(value),
7
- eq: value => (0, typeorm_1.Equal)(value),
8
- noteq: value => (0, typeorm_1.Not)((0, typeorm_1.Equal)(value)),
9
- like: value => (0, typeorm_1.Like)(value),
10
- i_like: value => (0, typeorm_1.ILike)(value),
11
- nlike: value => (0, typeorm_1.Not)((0, typeorm_1.Like)(value)),
12
- i_nlike: value => (0, typeorm_1.Not)((0, typeorm_1.ILike)(value)),
13
- lt: value => (0, typeorm_1.Raw)(alias => `${alias} < ${typeof value === 'string' ? "'" + value + "'" : value}`),
14
- gt: value => (0, typeorm_1.Raw)(alias => `${alias} > ${typeof value === 'string' ? "'" + value + "'" : value}`),
15
- lte: value => (0, typeorm_1.Raw)(alias => `${alias} <= ${typeof value === 'string' ? "'" + value + "'" : value}`),
16
- gte: value => (0, typeorm_1.Raw)(alias => `${alias} >= ${typeof value === 'string' ? "'" + value + "'" : value}`),
17
- in: value => (0, typeorm_1.In)(value),
18
- notin: value => (0, typeorm_1.Not)((0, typeorm_1.In)(value)),
19
- is_null: () => (0, typeorm_1.IsNull)(),
20
- is_not_null: () => (0, typeorm_1.Not)((0, typeorm_1.IsNull)()),
21
- is_false: () => (0, typeorm_1.Raw)(alias => `${alias} IS FALSE`),
22
- in_true: () => (0, typeorm_1.Raw)(alias => `${alias} IS TRUE`),
23
- is_not_true: () => (0, typeorm_1.Raw)(alias => `${alias} IS NOT TRUE`),
24
- is_present: () => (0, typeorm_1.Raw)(alias => `${alias} IS PRESENT`),
25
- is_blank: () => (0, typeorm_1.Raw)(alias => `${alias} IS BLANK`),
26
- is_empty_num_id: () => (0, typeorm_1.Raw)(alias => `${alias} IS EMPTY NUMERIC ID`),
27
- between: value => (0, typeorm_1.Between)(value[0], value[1])
28
- };
29
- function getOperatorFunction({ operator, name, value, dataType }) {
30
- return OPERATION_FUNCTION_MAP[operator](value);
31
- }
32
- function makePaginationParams(pagination) {
33
- var jsonParams = {};
34
- if (pagination) {
35
- var { page = 0, limit = 0 } = pagination;
36
- var skip = 0;
37
- var take = 0;
38
- if (limit > 0) {
39
- skip = Math.max(page - 1, 0) * limit;
40
- take = limit;
41
- Object.assign(jsonParams, {
42
- skip,
43
- take
44
- });
45
- }
46
- }
47
- return jsonParams;
48
- }
49
- function makeSortingParams(sortings) {
50
- var jsonParams = {};
51
- if (sortings) {
52
- var order = {};
53
- sortings.forEach(s => {
54
- order[s.name] = s.desc ? 'DESC' : 'ASC';
55
- });
56
- Object.assign(jsonParams, {
57
- order
58
- });
59
- }
60
- return jsonParams;
61
- }
62
- function makeFilterParams(filters) {
63
- /* for where AND clauses */
64
- const columnFilters = filters.filter(filter => filter.operator !== 'search');
65
- const columnWhere = columnFilters.reduce((where, f) => {
66
- where[f.name] = getOperatorFunction(f);
67
- return where;
68
- }, {});
69
- const searchFilters = filters.filter(filter => filter.operator === 'search');
70
- if (searchFilters.length === 0) {
71
- return {
72
- where: columnWhere
73
- };
74
- }
75
- /* for fulltext searching ... OR-AND composition */
76
- const searchWheres = searchFilters.map(f => {
77
- return Object.assign({ [f.name]: getOperatorFunction(f) }, columnWhere);
78
- });
79
- return {
80
- where: searchWheres
81
- };
82
- }
83
- function convertListParams(params, domain) {
84
- var { pagination, filters = [], sortings } = params;
85
- var jsonParams = {};
86
- if (domain) {
87
- filters.push({
88
- name: 'domain',
89
- operator: 'eq',
90
- value: domain
91
- });
92
- }
93
- if (pagination)
94
- Object.assign(jsonParams, makePaginationParams(pagination));
95
- if (sortings)
96
- Object.assign(jsonParams, makeSortingParams(sortings));
97
- if (filters)
98
- Object.assign(jsonParams, makeFilterParams(filters));
99
- return jsonParams;
100
- }
101
- exports.convertListParams = convertListParams;
102
- //# sourceMappingURL=list-params-converter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-params-converter.js","sourceRoot":"","sources":["../../server/utils/list-params-converter.ts"],"names":[],"mappings":";;;AAAA,qCAA2E;AAI3E,MAAM,sBAAsB,GAAG;IAC7B,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAA,eAAK,EAAC,KAAK,CAAC;IAC7B,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,IAAA,eAAK,EAAC,KAAK,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAA,aAAG,EAAC,IAAA,eAAK,EAAC,KAAK,CAAC,CAAC;IACjC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAA,cAAI,EAAC,KAAK,CAAC;IAC1B,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAA,eAAK,EAAC,KAAK,CAAC;IAC7B,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAA,aAAG,EAAC,IAAA,cAAI,EAAC,KAAK,CAAC,CAAC;IAChC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,IAAA,aAAG,EAAC,IAAA,eAAK,EAAC,KAAK,CAAC,CAAC;IACnC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,IAAA,aAAG,EAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,MAAM,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAChG,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,IAAA,aAAG,EAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,MAAM,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAChG,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,IAAA,aAAG,EAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAClG,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,IAAA,aAAG,EAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAClG,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,IAAA,YAAE,EAAC,KAAK,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAA,aAAG,EAAC,IAAA,YAAE,EAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,gBAAM,GAAE;IACvB,WAAW,EAAE,GAAG,EAAE,CAAC,IAAA,aAAG,EAAC,IAAA,gBAAM,GAAE,CAAC;IAChC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAA,aAAG,EAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,WAAW,CAAC;IACjD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,aAAG,EAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,UAAU,CAAC;IAC/C,WAAW,EAAE,GAAG,EAAE,CAAC,IAAA,aAAG,EAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,cAAc,CAAC;IACvD,UAAU,EAAE,GAAG,EAAE,CAAC,IAAA,aAAG,EAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,aAAa,CAAC;IACrD,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAA,aAAG,EAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,WAAW,CAAC;IACjD,eAAe,EAAE,GAAG,EAAE,CAAC,IAAA,aAAG,EAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,sBAAsB,CAAC;IACnE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,IAAA,iBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;CAC9C,CAAA;AAED,SAAS,mBAAmB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC9D,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA;AAChD,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAU;IACtC,IAAI,UAAU,GAAG,EAAE,CAAA;IACnB,IAAI,UAAU,EAAE;QACd,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,UAAU,CAAA;QACxC,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,IAAI,IAAI,GAAG,CAAC,CAAA;QAEZ,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAA;YACpC,IAAI,GAAG,KAAK,CAAA;YACZ,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;gBACxB,IAAI;gBACJ,IAAI;aACL,CAAC,CAAA;SACH;KACF;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAQ;IACjC,IAAI,UAAU,GAAG,EAAE,CAAA;IACnB,IAAI,QAAQ,EAAE;QACZ,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACnB,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;QACzC,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;YACxB,KAAK;SACN,CAAC,CAAA;KACH;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAO;IAC/B,2BAA2B;IAC3B,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAA;IAC5E,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACpD,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAA;QACtC,OAAO,KAAK,CAAA;IACd,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAA;IAC5E,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO;YACL,KAAK,EAAE,WAAW;SACnB,CAAA;KACF;IAED,mDAAmD;IACnD,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACzC,uBACE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAC7B,WAAW,EACf;IACH,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,KAAK,EAAE,YAAY;KACpB,CAAA;AACH,CAAC;AAED,SAAgB,iBAAiB,CAAC,MAAwB,EAAE,MAAe;IACzE,IAAI,EAAE,UAAU,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAa,CAAA;IAC1D,IAAI,UAAU,GAAG,EAAE,CAAA;IAEnB,IAAI,MAAM,EAAE;QACV,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,MAAM;SACd,CAAC,CAAA;KACH;IAED,IAAI,UAAU;QAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAA;IAC3E,IAAI,QAAQ;QAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAA;IACpE,IAAI,OAAO;QAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAA;IAEjE,OAAO,UAAU,CAAA;AACnB,CAAC;AAjBD,8CAiBC"}
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildQuery = void 0;
4
- const typeorm_1 = require("typeorm");
5
- const condition_builder_1 = require("./condition-builder");
6
- const buildQuery = function (queryBuilder, params, context, domainRef = true) {
7
- var _a, _b;
8
- const columnFilters = ((_a = params.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => filter.operator !== 'search')) || [];
9
- const searchFilters = ((_b = params.filters) === null || _b === void 0 ? void 0 : _b.filter(filter => filter.operator === 'search')) || [];
10
- const pagination = params.pagination;
11
- const sortings = params.sortings;
12
- const domainId = context && context.state.domain && context.state.domain.id;
13
- if (columnFilters && columnFilters.length > 0) {
14
- columnFilters.forEach(filter => {
15
- const condition = (0, condition_builder_1.buildCondition)(queryBuilder.alias, filter.name, filter.operator, filter.value, filter.relation, Object.keys(queryBuilder.getParameters()).length);
16
- if (condition === null || condition === void 0 ? void 0 : condition.clause)
17
- queryBuilder.andWhere(condition.clause);
18
- if (condition === null || condition === void 0 ? void 0 : condition.parameters)
19
- queryBuilder.setParameters(condition.parameters);
20
- });
21
- }
22
- if (searchFilters.length > 0) {
23
- queryBuilder.andWhere(new typeorm_1.Brackets(qb => {
24
- searchFilters.forEach((filter, index) => {
25
- const clause = `${queryBuilder.alias}.${filter.name} LIKE :${filter.name}`;
26
- const parameters = { [filter.name]: filter.value };
27
- index === 0 ? qb.where(clause, parameters) : qb.orWhere(clause, parameters);
28
- });
29
- }));
30
- }
31
- if (domainRef) {
32
- queryBuilder.andWhere(`${queryBuilder.alias}.domain = :domainId`, { domainId });
33
- }
34
- if (pagination && pagination.page > 0 && pagination.limit > 0) {
35
- queryBuilder.skip(pagination.limit * (pagination.page - 1));
36
- queryBuilder.take(pagination.limit);
37
- }
38
- if (sortings && sortings.length > 0) {
39
- sortings.forEach((sorting, index) => {
40
- const sortField = sorting.name.split('.').length > 1 ? sorting.name : `${queryBuilder.alias}.${sorting.name}`;
41
- if (index === 0) {
42
- queryBuilder.orderBy(sortField, sorting.desc ? 'DESC' : 'ASC');
43
- }
44
- else {
45
- queryBuilder.addOrderBy(sortField, sorting.desc ? 'DESC' : 'ASC');
46
- }
47
- });
48
- }
49
- };
50
- exports.buildQuery = buildQuery;
51
- //# sourceMappingURL=list-query-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-query-builder.js","sourceRoot":"","sources":["../../server/utils/list-query-builder.ts"],"names":[],"mappings":"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"}