@docupace/ihub-config 1.0.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.
Files changed (116) hide show
  1. package/README.md +82 -0
  2. package/dist/config/config-injector.d.ts +24 -0
  3. package/dist/config/config-injector.d.ts.map +1 -0
  4. package/dist/config/config-injector.js +28 -0
  5. package/dist/config/config-injector.js.map +1 -0
  6. package/dist/config/template-processor.d.ts +25 -0
  7. package/dist/config/template-processor.d.ts.map +1 -0
  8. package/dist/config/template-processor.js +154 -0
  9. package/dist/config/template-processor.js.map +1 -0
  10. package/dist/config-extension.d.ts +11 -0
  11. package/dist/config-extension.d.ts.map +1 -0
  12. package/dist/config-extension.js +42 -0
  13. package/dist/config-extension.js.map +1 -0
  14. package/dist/config-providers/base-config.d.ts +8 -0
  15. package/dist/config-providers/base-config.d.ts.map +1 -0
  16. package/dist/config-providers/base-config.js +2 -0
  17. package/dist/config-providers/base-config.js.map +1 -0
  18. package/dist/config-providers/index.d.ts +5 -0
  19. package/dist/config-providers/index.d.ts.map +1 -0
  20. package/dist/config-providers/index.js +8 -0
  21. package/dist/config-providers/index.js.map +1 -0
  22. package/dist/config-resolvers/index.d.ts +15 -0
  23. package/dist/config-resolvers/index.d.ts.map +1 -0
  24. package/dist/config-resolvers/index.js +24 -0
  25. package/dist/config-resolvers/index.js.map +1 -0
  26. package/dist/config-service.d.ts +63 -0
  27. package/dist/config-service.d.ts.map +1 -0
  28. package/dist/config-service.js +515 -0
  29. package/dist/config-service.js.map +1 -0
  30. package/dist/env.d.ts +2 -0
  31. package/dist/env.d.ts.map +1 -0
  32. package/dist/env.js +3 -0
  33. package/dist/env.js.map +1 -0
  34. package/dist/globals.d.ts +30 -0
  35. package/dist/globals.d.ts.map +1 -0
  36. package/dist/globals.js +95 -0
  37. package/dist/globals.js.map +1 -0
  38. package/dist/index.d.ts +11 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +6 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/instance-config.d.ts +21 -0
  43. package/dist/instance-config.d.ts.map +1 -0
  44. package/dist/instance-config.js +74 -0
  45. package/dist/instance-config.js.map +1 -0
  46. package/dist/lib/file-system.d.ts +2 -0
  47. package/dist/lib/file-system.d.ts.map +1 -0
  48. package/dist/lib/file-system.js +11 -0
  49. package/dist/lib/file-system.js.map +1 -0
  50. package/dist/lib/filters.d.ts +7 -0
  51. package/dist/lib/filters.d.ts.map +1 -0
  52. package/dist/lib/filters.js +123 -0
  53. package/dist/lib/filters.js.map +1 -0
  54. package/dist/lib/param-helpers.d.ts +11 -0
  55. package/dist/lib/param-helpers.d.ts.map +1 -0
  56. package/dist/lib/param-helpers.js +54 -0
  57. package/dist/lib/param-helpers.js.map +1 -0
  58. package/dist/lib/replace-dots-outside-expressions.d.ts +2 -0
  59. package/dist/lib/replace-dots-outside-expressions.d.ts.map +1 -0
  60. package/dist/lib/replace-dots-outside-expressions.js +10 -0
  61. package/dist/lib/replace-dots-outside-expressions.js.map +1 -0
  62. package/dist/lib/sort.d.ts +2 -0
  63. package/dist/lib/sort.d.ts.map +1 -0
  64. package/dist/lib/sort.js +25 -0
  65. package/dist/lib/sort.js.map +1 -0
  66. package/dist/mappers/config-mapper.d.ts +8 -0
  67. package/dist/mappers/config-mapper.d.ts.map +1 -0
  68. package/dist/mappers/config-mapper.js +17 -0
  69. package/dist/mappers/config-mapper.js.map +1 -0
  70. package/dist/model/graphs/config/common.graphql +8 -0
  71. package/dist/model/graphs/config/fields.graphql +338 -0
  72. package/dist/model/graphs/config/menu.graphql +40 -0
  73. package/dist/model/graphs/config/mutation.graphql +30 -0
  74. package/dist/model/graphs/config/page.graphql +227 -0
  75. package/dist/model/graphs/config/panel.graphql +30 -0
  76. package/dist/model/graphs/config/query.graphql +55 -0
  77. package/dist/model/graphs/config/selectOptions.graphql +47 -0
  78. package/dist/model/graphs/config/table.graphql +97 -0
  79. package/dist/model/graphs/config/tests.graphql +16 -0
  80. package/dist/model/graphs/config/theme.graphql +41 -0
  81. package/dist/model/graphs/config/ui-components.graphql +11 -0
  82. package/dist/model/graphs/domains/scalars.graphql +3 -0
  83. package/dist/model/graphs/filter.graphql +5 -0
  84. package/dist/model/graphs/schema.graphql +7 -0
  85. package/dist/server.d.ts +2 -0
  86. package/dist/server.d.ts.map +1 -0
  87. package/dist/server.js +34 -0
  88. package/dist/server.js.map +1 -0
  89. package/dist/types/filter-types.d.ts +62 -0
  90. package/dist/types/filter-types.d.ts.map +1 -0
  91. package/dist/types/filter-types.js +28 -0
  92. package/dist/types/filter-types.js.map +1 -0
  93. package/dist/types/graphql.d.ts +74630 -0
  94. package/dist/types/graphql.d.ts.map +1 -0
  95. package/dist/types/graphql.js +94 -0
  96. package/dist/types/graphql.js.map +1 -0
  97. package/dist/types/types.d.ts +13 -0
  98. package/dist/types/types.d.ts.map +1 -0
  99. package/dist/types/types.js +2 -0
  100. package/dist/types/types.js.map +1 -0
  101. package/model/graphs/config/common.graphql +8 -0
  102. package/model/graphs/config/fields.graphql +338 -0
  103. package/model/graphs/config/menu.graphql +40 -0
  104. package/model/graphs/config/mutation.graphql +30 -0
  105. package/model/graphs/config/page.graphql +227 -0
  106. package/model/graphs/config/panel.graphql +30 -0
  107. package/model/graphs/config/query.graphql +55 -0
  108. package/model/graphs/config/selectOptions.graphql +47 -0
  109. package/model/graphs/config/table.graphql +97 -0
  110. package/model/graphs/config/tests.graphql +16 -0
  111. package/model/graphs/config/theme.graphql +41 -0
  112. package/model/graphs/config/ui-components.graphql +11 -0
  113. package/model/graphs/domains/scalars.graphql +3 -0
  114. package/model/graphs/filter.graphql +5 -0
  115. package/model/graphs/schema.graphql +7 -0
  116. package/package.json +63 -0
@@ -0,0 +1,95 @@
1
+ import { pino } from 'pino';
2
+ /**
3
+ * A common logger that all consuming modules can extend from.
4
+ */
5
+ export const cliOptions = {
6
+ logLevel: process.env.LOG_LEVEL || 'info',
7
+ generateMockDataPath: process.env.GENERATE_MOCK_DATA_PATH,
8
+ apiLevel: process.env.API_LEVEL,
9
+ };
10
+ export const _logger = pino({
11
+ level: cliOptions.logLevel,
12
+ });
13
+ export function makeLogger(context, options) {
14
+ return _logger.child(context, options);
15
+ }
16
+ export async function rt(name, fn, log) {
17
+ const startTime = Date.now();
18
+ const l = log ?? _logger;
19
+ try {
20
+ const resp = await fn();
21
+ const durationMs = Date.now() - startTime;
22
+ l.debug({ action: name, durationMs }, 'timing');
23
+ return resp;
24
+ }
25
+ catch (e) {
26
+ const durationMs = Date.now() - startTime;
27
+ l.debug({ action: name, durationMs }, 'timing');
28
+ throw e;
29
+ }
30
+ }
31
+ /**
32
+ * Picks fields from an Axios Request config object suitable for logging.
33
+ * Only includes `data` if `withData` is explicitly true.
34
+ */
35
+ function hasNonEmptyValue(obj) {
36
+ return obj
37
+ ? Object.values(obj).some((value) => value !== null && value !== undefined && value !== '')
38
+ : false;
39
+ }
40
+ const removeUndefinedAttributes = (obj) => {
41
+ const copy = { ...obj };
42
+ Object.keys(copy).forEach((key) => {
43
+ if (copy[key] === undefined) {
44
+ delete copy[key];
45
+ }
46
+ });
47
+ return copy;
48
+ };
49
+ export const axiosRequestLogObj = ({ url, baseURL, params, method, data, headers }, withData) => ({
50
+ url: `${baseURL}${url}${hasNonEmptyValue(params) ? '?' + new URLSearchParams(removeUndefinedAttributes(params)).toString() : ''}`,
51
+ method,
52
+ headers,
53
+ data: withData ? data : undefined,
54
+ });
55
+ /**
56
+ * Picks fields from an Axios Response object suitable for logging.
57
+ * Only includes `data` if `withData` is explicitly true.
58
+ */
59
+ const axiosResponseLogObj = ({ status, statusText, data }, withData) => ({
60
+ status,
61
+ statusText,
62
+ data: withData ? data : undefined,
63
+ });
64
+ /**
65
+ * Axios interceptors that log outgoing HTTP requests and their responses to the given logger.
66
+ * Defaults to the global logger if none is given, and ensures that request/response payload data is only disclosed if
67
+ * the log level is `debug` or higher.
68
+ */
69
+ export const axiosLogger = {
70
+ req: (log = _logger) => (req) => {
71
+ log.debug(axiosRequestLogObj(req, true), 'sending HTTP request');
72
+ return req;
73
+ },
74
+ res: (log = _logger) => (res) => {
75
+ log.trace(axiosResponseLogObj(res, true), 'received HTTP response');
76
+ return res;
77
+ },
78
+ err: (log = _logger) => (err) => {
79
+ const logData = log.isLevelEnabled('debug');
80
+ log.error({
81
+ req: err.request
82
+ ? {
83
+ url: `${err.request.protocol}//${err.request.host}${err.request.path}`,
84
+ }
85
+ : undefined,
86
+ res: err.response
87
+ ? axiosResponseLogObj(err.response, logData)
88
+ : undefined,
89
+ }, err.response
90
+ ? 'received HTTP error response'
91
+ : 'error sending HTTP request');
92
+ return Promise.reject(err);
93
+ },
94
+ };
95
+ //# sourceMappingURL=globals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globals.js","sourceRoot":"","sources":["../src/globals.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,IAAI,EAAE,MAAM,MAAM,CAAC;AAGxD;;GAEG;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;IACzC,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB;IACzD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;CAChC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,UAAU,CAAC,QAAQ;CAC3B,CAAC,CAAC;AAEH,MAAM,UAAU,UAAU,CACxB,OAAgC,EAChC,OAA4B;IAE5B,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,EAAE,CACtB,IAAY,EACZ,EAAoB,EACpB,GAAY;IAEZ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC;IAEzB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,EAAE,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAE1C,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC1C,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED;;;GAGG;AAEH,SAAS,gBAAgB,CAAC,GAAwB;IAChD,OAAO,GAAG;QACR,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CACjE;QACH,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC;AAED,MAAM,yBAAyB,GAAG,CAAC,GAAQ,EAAO,EAAE;IAClD,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,IAAI,IAAI,CAAC,GAAgB,CAAC,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,GAAgB,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAA8B,EAC3E,QAAkB,EAClB,EAAE,CAAC,CAAC;IACJ,GAAG,EAAE,GAAG,OAAO,GAAG,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACjI,MAAM;IACN,OAAO;IACP,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;CAClC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,mBAAmB,GAAG,CAC1B,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAiB,EAC3C,QAAkB,EAClB,EAAE,CAAC,CAAC;IACJ,MAAM;IACN,UAAU;IACV,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;CAClC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,EACD,CAAC,GAAG,GAAG,OAAO,EAAE,EAAE,CAClB,CAAC,GAA+B,EAAE,EAAE;QAClC,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAC;QACjE,OAAO,GAAG,CAAC;IACb,CAAC;IACH,GAAG,EACD,CAAC,GAAG,GAAG,OAAO,EAAE,EAAE,CAClB,CAAC,GAAkB,EAAE,EAAE;QACrB,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,wBAAwB,CAAC,CAAC;QACpE,OAAO,GAAG,CAAC;IACb,CAAC;IACH,GAAG,EACD,CAAC,GAAG,GAAG,OAAO,EAAE,EAAE,CAClB,CAAC,GAAe,EAAE,EAAE;QAClB,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE5C,GAAG,CAAC,KAAK,CACP;YACE,GAAG,EAAE,GAAG,CAAC,OAAO;gBACd,CAAC,CAAC;oBACE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;iBACvE;gBACH,CAAC,CAAC,SAAS;YACb,GAAG,EAAE,GAAG,CAAC,QAAQ;gBACf,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAC5C,CAAC,CAAC,SAAS;SACd,EACD,GAAG,CAAC,QAAQ;YACV,CAAC,CAAC,8BAA8B;YAChC,CAAC,CAAC,4BAA4B,CACjC,CAAC;QAEF,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ export { getConfigExtension } from './config-extension.js';
2
+ export type { ConfigExtensionOptions } from './config-extension.js';
3
+ export { addConfigInjectorResolver, getConfigInjectorResolvers, setConfigInjectorResolvers, } from './config/config-injector.js';
4
+ export type { ConfigInjectorResolvers, ResolverFunction, } from './config/config-injector.js';
5
+ export { getConfigProviders, setConfigProviders, } from './config-providers/index.js';
6
+ export type { ConfigProvider, ConfigProviderClass, ConfigProviders, } from './config-providers/base-config.js';
7
+ export { deepMergeResolvers, getConfigResolvers, setConfigResolvers, } from './config-resolvers/index.js';
8
+ export { ConfigFileStore, defaultConfigService, default as ConfigService, } from './config-service.js';
9
+ export type { ConfigMutationResolverFactory, ConfigQueryResolverFactory, ConfigResolverFactoryDeps, ConfigResolverRegistry, ConfigResolversConfig, } from './config-resolvers/index.js';
10
+ export type { ConfigStore, ConfigStoreParams, DefaultConfigServiceParams, } from './config-service.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,OAAO,IAAI,aAAa,GACzB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ export { getConfigExtension } from './config-extension.js';
2
+ export { addConfigInjectorResolver, getConfigInjectorResolvers, setConfigInjectorResolvers, } from './config/config-injector.js';
3
+ export { getConfigProviders, setConfigProviders, } from './config-providers/index.js';
4
+ export { deepMergeResolvers, getConfigResolvers, setConfigResolvers, } from './config-resolvers/index.js';
5
+ export { ConfigFileStore, defaultConfigService, default as ConfigService, } from './config-service.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,OAAO,IAAI,aAAa,GACzB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { ConfigStoreParams } from './config-service.js';
2
+ import { BaseInstanceConfig } from '@docupace/ihub-core/types';
3
+ import { CoreInfo } from './types/types.js';
4
+ export interface InstanceConfig extends BaseInstanceConfig {
5
+ coreInfo?: CoreInfo;
6
+ modelPath?: string;
7
+ remoteConfigPath?: string;
8
+ remoteConfigBranch?: string;
9
+ integrations?: {
10
+ hub?: {
11
+ url?: string;
12
+ };
13
+ external?: Record<string, any>;
14
+ sslCertificate?: string;
15
+ sslKey?: string;
16
+ };
17
+ configStores: ConfigStoreParams[];
18
+ }
19
+ declare const getInstanceConfig: () => Promise<InstanceConfig>;
20
+ export { getInstanceConfig };
21
+ //# sourceMappingURL=instance-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-config.d.ts","sourceRoot":"","sources":["../src/instance-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAoB5C,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE;QACb,GAAG,CAAC,EAAE;YACJ,GAAG,CAAC,EAAE,MAAM,CAAC;SACd,CAAC;QACF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,YAAY,EAAE,iBAAiB,EAAE,CAAC;CACnC;AA4CD,QAAA,MAAM,iBAAiB,QAAa,OAAO,CAAC,cAAc,CA8BzD,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { getBaseInstanceConfig } from '@docupace/ihub-core/env';
2
+ import path from 'path';
3
+ const configParams = [
4
+ 'CONFIG_REMOTE_PATH',
5
+ 'CONFIG_REMOTE_BRANCH',
6
+ 'CONFIG_LOCAL_PATH',
7
+ 'CONFIG_PRIORITY',
8
+ 'CONFIG_NAME',
9
+ ];
10
+ const requiredConfigParams = ['CONFIG_REMOTE_PATH', 'CONFIG_LOCAL_PATH'];
11
+ function toTitleCase(str) {
12
+ return str
13
+ .toLowerCase()
14
+ .split(' ')
15
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
16
+ .join(' ');
17
+ }
18
+ const groupConfigParams = () => {
19
+ const results = {};
20
+ const filteredParams = Object.entries(process.env).filter(([name, _value]) => configParams.some((paramName) => name.endsWith('_' + paramName)));
21
+ for (const [name, value] of filteredParams) {
22
+ const [configKey, ...configParamNames] = name.split('_');
23
+ const configParamName = configParamNames.join('_');
24
+ if (!results[configKey]) {
25
+ results[configKey] = {};
26
+ }
27
+ results[configKey][configParamName] = value;
28
+ }
29
+ return Object.fromEntries(Object.entries(results).filter(([_name, value]) => requiredConfigParams.some((paramName) => value[paramName])));
30
+ };
31
+ const processConfigParams = (groupedParams) => {
32
+ return Object.entries(groupedParams)
33
+ .map(([name, value]) => {
34
+ if (!value['CONFIG_PRIORITY']) {
35
+ throw new Error(`Config ${name} does not have a priority. Set environment variables ${name}_CONFIG_PRIORITY`);
36
+ }
37
+ return {
38
+ key: name,
39
+ name: value['CONFIG_NAME'] ?? toTitleCase(name),
40
+ localPath: value['CONFIG_LOCAL_PATH'] ??
41
+ path.resolve(process.env.CONFIG_LOCAL_PATH_ROOT, name.toLowerCase()),
42
+ remotePath: value['CONFIG_REMOTE_PATH'],
43
+ remoteBranch: value['CONFIG_REMOTE_BRANCH'],
44
+ priority: parseInt(value['CONFIG_PRIORITY']),
45
+ };
46
+ })
47
+ .sort((a, b) => a.priority - b.priority);
48
+ };
49
+ const getInstanceConfig = async () => {
50
+ const coreInfo = {
51
+ url: process.env.CORE_URL,
52
+ };
53
+ const modelPath = process.env.MODEL_PATH;
54
+ const hub = {
55
+ url: process.env.INTEGRATION_HUB_URL,
56
+ };
57
+ const integrations = {
58
+ hub,
59
+ sslCertificate: process.env.SSL_PUBLIC_CERT,
60
+ sslKey: process.env.SSL_PRIVATE_KEY,
61
+ };
62
+ const groupedParams = groupConfigParams();
63
+ const configStores = processConfigParams(groupedParams);
64
+ const baseConfig = await getBaseInstanceConfig();
65
+ return {
66
+ ...baseConfig,
67
+ // coreInfo,
68
+ modelPath,
69
+ configStores,
70
+ // integrations,
71
+ };
72
+ };
73
+ export { getInstanceConfig };
74
+ //# sourceMappingURL=instance-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-config.js","sourceRoot":"","sources":["../src/instance-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function fileExists(filePath: string): Promise<boolean>;
2
+ //# sourceMappingURL=file-system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system.d.ts","sourceRoot":"","sources":["../../src/lib/file-system.ts"],"names":[],"mappings":"AAEA,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,oBAOhD"}
@@ -0,0 +1,11 @@
1
+ import fs from 'fs';
2
+ export async function fileExists(filePath) {
3
+ try {
4
+ await fs.promises.access(filePath);
5
+ return true; // File exists
6
+ }
7
+ catch (err) {
8
+ return false; // File does not exist
9
+ }
10
+ }
11
+ //# sourceMappingURL=file-system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system.js","sourceRoot":"","sources":["../../src/lib/file-system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,CAAC,cAAc;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,KAAK,CAAC,CAAC,sBAAsB;IACtC,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Filter, FilterCriteria } from '../types/filter-types.js';
2
+ export declare function convertFilterCriteraToWhere(criteriaArray: FilterCriteria[]): Record<string, any>[];
3
+ export declare function convertFilterToWhere(filter: Filter | undefined, where?: any): any;
4
+ export declare function getCriteriaValue(criteria: FilterCriteria): any;
5
+ export declare function getFilterFromRequest(obj: any): any;
6
+ export declare function mergeWhereFilters(where1: any, where2: any): any;
7
+ //# sourceMappingURL=filters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/lib/filters.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EACN,cAAc,EAEf,MAAM,0BAA0B,CAAC;AAGlC,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,cAAc,EAAE,yBAyD1E;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,GAAE,GAAe,OAmBvB;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,GAAG,CAe9D;AAQD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAElD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAQzD"}
@@ -0,0 +1,123 @@
1
+ import { ComparisonOperator, LogicalOperator, } from '../types/filter-types.js';
2
+ import { construct } from '@docupace/ihub-core/dot-prop';
3
+ export function convertFilterCriteraToWhere(criteriaArray) {
4
+ const convertOperator = (criteria) => {
5
+ const operatorMapper = {};
6
+ operatorMapper[ComparisonOperator.EQUALS] = '_eq';
7
+ operatorMapper[ComparisonOperator.CONTAINS] = '_contains';
8
+ operatorMapper[ComparisonOperator.BEGINS_WITH] = '_startsWith';
9
+ operatorMapper[ComparisonOperator.ENDS_WITH] = '_endsWith';
10
+ const notOperatorMapper = {};
11
+ notOperatorMapper[ComparisonOperator.EQUALS] = '_neq';
12
+ notOperatorMapper[ComparisonOperator.CONTAINS] = '_ncontains';
13
+ notOperatorMapper[ComparisonOperator.BEGINS_WITH] = '_nstartsWith';
14
+ notOperatorMapper[ComparisonOperator.ENDS_WITH] = '_nendsWith';
15
+ const opMapper = criteria.not ? notOperatorMapper : operatorMapper;
16
+ return opMapper[criteria.operator];
17
+ };
18
+ const isRangeCriteria = (criteria) => {
19
+ return (criteria.operator === ComparisonOperator.RANGE &&
20
+ (criteria.valueFromDate !== undefined ||
21
+ criteria.valueToDate !== undefined));
22
+ };
23
+ const convertRangeCriteria = (criteria) => {
24
+ const rangeValue = {};
25
+ if (criteria.valueFromDate !== undefined) {
26
+ rangeValue._gte = criteria.valueFromDate;
27
+ }
28
+ if (criteria.valueToDate !== undefined) {
29
+ rangeValue._lte = criteria.valueToDate;
30
+ }
31
+ return construct([
32
+ {
33
+ path: criteria.path,
34
+ value: rangeValue,
35
+ },
36
+ ]);
37
+ };
38
+ const whereArray = criteriaArray.map((criteria) => {
39
+ if (isRangeCriteria(criteria)) {
40
+ return convertRangeCriteria(criteria);
41
+ }
42
+ return construct([
43
+ {
44
+ path: [criteria.path, convertOperator(criteria)].join('.'),
45
+ value: getCriteriaValue(criteria),
46
+ },
47
+ ]);
48
+ });
49
+ const obj = whereArray;
50
+ return obj;
51
+ }
52
+ export function convertFilterToWhere(filter, where = undefined) {
53
+ if (!filter) {
54
+ return undefined;
55
+ }
56
+ const operatorMapper = {};
57
+ operatorMapper[LogicalOperator.OR] = '_or';
58
+ operatorMapper[LogicalOperator.AND] = '_and';
59
+ if (filter.criteria && filter.criteria.length > 0) {
60
+ if (!where) {
61
+ where = {};
62
+ }
63
+ where[operatorMapper[filter.operator]] = convertFilterCriteraToWhere(filter.criteria);
64
+ }
65
+ return where;
66
+ }
67
+ export function getCriteriaValue(criteria) {
68
+ const valuesSet = [
69
+ criteria.valueString,
70
+ criteria.valueInt,
71
+ criteria.valueFloat,
72
+ criteria.valueIntArray,
73
+ criteria.valueStringArray,
74
+ criteria.valueBoolean,
75
+ ].filter((value) => value !== undefined);
76
+ if (valuesSet.length > 1) {
77
+ throw new Error('More than one value is set.');
78
+ }
79
+ return valuesSet[0];
80
+ }
81
+ function getFilterFromSearchParams(obj) {
82
+ return obj.searchParams?.filter
83
+ ? convertFilterToWhere(obj.searchParams.filter)
84
+ : undefined;
85
+ }
86
+ export function getFilterFromRequest(obj) {
87
+ return obj.where ? obj.where : getFilterFromSearchParams(obj);
88
+ }
89
+ export function mergeWhereFilters(where1, where2) {
90
+ const merged = mergeWhereFiltersInternal(where1, where2);
91
+ if (merged._and?.length == 1) {
92
+ return merged._and[0];
93
+ }
94
+ else {
95
+ return merged;
96
+ }
97
+ }
98
+ function mergeWhereFiltersInternal(where1, where2) {
99
+ if (!where1 || Object.keys(where1).length == 0) {
100
+ return where2;
101
+ }
102
+ if (!where2 || Object.keys(where2).length == 0) {
103
+ return where1;
104
+ }
105
+ if (where1._or && where2._or) {
106
+ throw new Error('Incorrect filter specified for this method. OR not allowed');
107
+ }
108
+ const mergeAnd = (a, b) => ({
109
+ _and: [...(a._and ?? [a]), ...(b._and ?? [b])],
110
+ });
111
+ if (where1._or) {
112
+ return {
113
+ _or: where1._or.map((or) => mergeAnd(or, where2)),
114
+ };
115
+ }
116
+ if (where2._or) {
117
+ return {
118
+ _or: where2._or.map((or) => mergeAnd(or, where1)),
119
+ };
120
+ }
121
+ return mergeAnd(where1, where2);
122
+ }
123
+ //# sourceMappingURL=filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../src/lib/filters.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAGlB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,MAAM,UAAU,2BAA2B,CAAC,aAA+B;IACzE,MAAM,eAAe,GAAG,CAAC,QAAwB,EAAE,EAAE;QACnD,MAAM,cAAc,GAAQ,EAAE,CAAC;QAC/B,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAClD,cAAc,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;QAC1D,cAAc,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC;QAC/D,cAAc,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;QAE3D,MAAM,iBAAiB,GAAQ,EAAE,CAAC;QAClC,iBAAiB,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;QACtD,iBAAiB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;QAC9D,iBAAiB,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC;QACnE,iBAAiB,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;QAC/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC;QACnE,OAAO,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,QAAwB,EAAE,EAAE;QACnD,OAAO,CACL,QAAQ,CAAC,QAAQ,KAAK,kBAAkB,CAAC,KAAK;YAC9C,CAAC,QAAQ,CAAC,aAAa,KAAK,SAAS;gBACnC,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,CACtC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,QAAwB,EAAE,EAAE;QACxD,MAAM,UAAU,GAAQ,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACzC,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC3C,CAAC;QACD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACvC,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,CAAC;QACD,OAAO,SAAS,CAAC;YACf;gBACE,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,UAAU;aAClB;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChD,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,SAAS,CAAC;YACf;gBACE,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC1D,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC;aAClC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,UAAU,CAAC;IAEvB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAA0B,EAC1B,QAAa,SAAS;IAEtB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,cAAc,GAAQ,EAAE,CAAC;IAC/B,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;IAC3C,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IAE7C,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,EAAE,CAAC;QACb,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,2BAA2B,CAClE,MAAM,CAAC,QAAQ,CAChB,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAwB;IACvD,MAAM,SAAS,GAAG;QAChB,QAAQ,CAAC,WAAW;QACpB,QAAQ,CAAC,QAAQ;QACjB,QAAQ,CAAC,UAAU;QACnB,QAAQ,CAAC,aAAa;QACtB,QAAQ,CAAC,gBAAgB;QACzB,QAAQ,CAAC,YAAY;KACtB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAEzC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAQ;IACzC,OAAO,GAAG,CAAC,YAAY,EAAE,MAAM;QAC7B,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC;QAC/C,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAQ;IAC3C,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAW,EAAE,MAAW;IACxD,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzD,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAW,EAAE,MAAW;IACzD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC/C,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC/C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/C,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;SACvD,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;SACvD,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Order } from '../types/filter-types.js';
2
+ export declare function extractParamsFromInput(obj: any): {
3
+ where: any;
4
+ limit: any;
5
+ offset: any;
6
+ orderBy: any;
7
+ };
8
+ export declare function orderToArray(orderBy: any[]): Order[];
9
+ export declare function getTypedPath(order: Order): string;
10
+ export declare function orderFromArray(orderBy: Order[]): any[];
11
+ //# sourceMappingURL=param-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"param-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/param-helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAajD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG;;;;;EAmB9C;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAWpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAKjD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,CAYtD"}
@@ -0,0 +1,54 @@
1
+ import { convertFilterToWhere } from './filters.js';
2
+ import { flatten, construct } from '@docupace/ihub-core/dot-prop';
3
+ import { GraphQLError } from 'graphql/index.js';
4
+ import lodash from 'lodash';
5
+ function mergeParams(object, source) {
6
+ if (object || source) {
7
+ return lodash.merge(lodash.cloneDeep(object), source);
8
+ }
9
+ return undefined;
10
+ }
11
+ export function extractParamsFromInput(obj) {
12
+ const where = mergeParams(obj?.where, obj?.searchParams?.filter &&
13
+ convertFilterToWhere(obj?.searchParams?.filter));
14
+ let orderBy;
15
+ if (obj?.orderBy) {
16
+ orderBy = obj?.orderBy;
17
+ }
18
+ else if (obj?.searchParams?.orderBy) {
19
+ orderBy = orderFromArray(obj?.searchParams?.orderBy);
20
+ }
21
+ const limit = obj?.limit ?? obj?.searchParams?.maxRows;
22
+ const offset = obj?.offset ?? obj?.searchParams?.start;
23
+ return { where, limit, offset, orderBy };
24
+ }
25
+ export function orderToArray(orderBy) {
26
+ return orderBy.map((oneOrder) => {
27
+ const flat = flatten(oneOrder);
28
+ if (flat.length > 1) {
29
+ throw new GraphQLError(`Multiple attributes not supported per order by element. Rewrite [{a : 'DESC', b : 'ASC}] to [{a : 'DESC'}, {b : 'ASC}]`);
30
+ }
31
+ else {
32
+ return { path: flat[0].path, orderType: flat[0].value };
33
+ }
34
+ });
35
+ }
36
+ export function getTypedPath(order) {
37
+ return order.path
38
+ .split('.')
39
+ .filter((_) => !_.startsWith('@'))
40
+ .join('.');
41
+ }
42
+ export function orderFromArray(orderBy) {
43
+ return orderBy.map((oneOrder) => {
44
+ const path = getTypedPath(oneOrder);
45
+ const obj = construct([
46
+ {
47
+ path: path,
48
+ value: oneOrder.orderType,
49
+ },
50
+ ]);
51
+ return obj;
52
+ });
53
+ }
54
+ //# sourceMappingURL=param-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"param-helpers.js","sourceRoot":"","sources":["../../src/lib/param-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,SAAS,WAAW,CAAC,MAAY,EAAE,MAAY;IAC7C,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAQ;IAC7C,MAAM,KAAK,GAAG,WAAW,CACvB,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,YAAY,EAAE,MAAM;QACvB,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAClD,CAAC;IAEF,IAAI,OAAO,CAAC;IACZ,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC;QACjB,OAAO,GAAG,GAAG,EAAE,OAAO,CAAC;IACzB,CAAC;SAAM,IAAI,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;QACtC,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC;IAEvD,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,YAAY,EAAE,KAAK,CAAC;IAEvD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAc;IACzC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,YAAY,CACpB,yHAAyH,CAC1H,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAY;IACvC,OAAO,KAAK,CAAC,IAAI;SACd,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACjC,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAEpC,MAAM,GAAG,GAAG,SAAS,CAAC;YACpB;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,QAAQ,CAAC,SAAS;aAC1B;SACF,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function replaceDotsOutsideExpressions(inputPath: any): any;
2
+ //# sourceMappingURL=replace-dots-outside-expressions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replace-dots-outside-expressions.d.ts","sourceRoot":"","sources":["../../src/lib/replace-dots-outside-expressions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,6BAA6B,CAAC,SAAS,EAAE,GAAG,OASnE"}
@@ -0,0 +1,10 @@
1
+ export default function replaceDotsOutsideExpressions(inputPath) {
2
+ if (typeof inputPath !== 'string') {
3
+ return inputPath;
4
+ }
5
+ return inputPath
6
+ .split(/(\${[^}]+})/g)
7
+ .map((part) => (part.startsWith('${') ? part : part.replace(/\./g, '_')))
8
+ .join('');
9
+ }
10
+ //# sourceMappingURL=replace-dots-outside-expressions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replace-dots-outside-expressions.js","sourceRoot":"","sources":["../../src/lib/replace-dots-outside-expressions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,6BAA6B,CAAC,SAAc;IAClE,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,SAAS;SACb,KAAK,CAAC,cAAc,CAAC;SACrB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;SACxE,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function sortItems(items: any, orderBy: any[] | undefined): any;
2
+ //# sourceMappingURL=sort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../src/lib/sort.ts"],"names":[],"mappings":"AAGA,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,SAAS,GAAG,GAAG,CAsBrE"}
@@ -0,0 +1,25 @@
1
+ import * as dot from '@docupace/ihub-core/dot-prop';
2
+ import { orderToArray } from './param-helpers.js';
3
+ export function sortItems(items, orderBy) {
4
+ if (orderBy) {
5
+ const orderByArray = orderToArray(orderBy);
6
+ const path = orderByArray[0].path;
7
+ const orderType = orderByArray[0].orderType;
8
+ const sorter = (obj1, obj2) => {
9
+ const value1 = dot.get(obj1, path);
10
+ const value2 = dot.get(obj2, path);
11
+ if (value1 < value2) {
12
+ return orderType == 'ASC' ? -1 : 1;
13
+ }
14
+ else if (value1 > value2) {
15
+ return orderType == 'ASC' ? 1 : -1;
16
+ }
17
+ else {
18
+ return 0;
19
+ }
20
+ };
21
+ items.sort(sorter);
22
+ }
23
+ return items;
24
+ }
25
+ //# sourceMappingURL=sort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../src/lib/sort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,UAAU,SAAS,CAAC,KAAU,EAAE,OAA0B;IAC9D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClC,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5C,MAAM,MAAM,GAAG,CAAC,IAAS,EAAE,IAAS,EAAU,EAAE;YAC9C,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEnC,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;gBACpB,OAAO,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC;iBAAM,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;gBAC3B,OAAO,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Model } from '@docupace/ihub-core';
2
+ import { AbstractMapper } from "@docupace/ihub-core/mappers";
3
+ declare class ConfigMapper extends AbstractMapper {
4
+ constructor(model: Model);
5
+ init(): Promise<void>;
6
+ }
7
+ export default ConfigMapper;
8
+ //# sourceMappingURL=config-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-mapper.d.ts","sourceRoot":"","sources":["../../src/mappers/config-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG5C,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAE3D,cAAM,YAAa,SAAQ,cAAc;gBAC3B,KAAK,EAAE,KAAK;IAIlB,IAAI;CAQX;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { defaultConfigService } from '../config-service.js';
2
+ import { getInstanceConfig } from '../instance-config.js';
3
+ import { AbstractMapper } from "@docupace/ihub-core/mappers";
4
+ class ConfigMapper extends AbstractMapper {
5
+ constructor(model) {
6
+ super(model, 'config');
7
+ }
8
+ async init() {
9
+ const tenantInfo = await getInstanceConfig();
10
+ defaultConfigService({
11
+ model: this.model,
12
+ configStores: tenantInfo.configStores,
13
+ });
14
+ }
15
+ }
16
+ export default ConfigMapper;
17
+ //# sourceMappingURL=config-mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-mapper.js","sourceRoot":"","sources":["../../src/mappers/config-mapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAE3D,MAAM,YAAa,SAAQ,cAAc;IACvC,YAAY,KAAY;QACtB,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,UAAU,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAE7C,oBAAoB,CAAC;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,UAAU,CAAC,YAAY;SACtC,CAAC,CAAC;IACL,CAAC;CACF;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ interface IElement {
2
+ name: String
3
+ }
4
+
5
+ interface IRowElement implements IElement {
6
+ cols: Int
7
+ name: String
8
+ }