@docupace/ihub-config 1.1.21 → 1.1.22-admin.2

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 (48) hide show
  1. package/README.md +182 -182
  2. package/dist/config-extension.d.ts +23 -0
  3. package/dist/config-extension.d.ts.map +1 -1
  4. package/dist/config-extension.js +2 -0
  5. package/dist/config-extension.js.map +1 -1
  6. package/dist/config-service.d.ts +12 -3
  7. package/dist/config-service.d.ts.map +1 -1
  8. package/dist/config-service.js +128 -21
  9. package/dist/config-service.js.map +1 -1
  10. package/dist/mappers/config-mapper.d.ts.map +1 -1
  11. package/dist/mappers/config-mapper.js +1 -0
  12. package/dist/mappers/config-mapper.js.map +1 -1
  13. package/dist/model/graphs/config/common.graphql +7 -7
  14. package/dist/model/graphs/config/fields.graphql +412 -382
  15. package/dist/model/graphs/config/menu.graphql +60 -54
  16. package/dist/model/graphs/config/mutation.graphql +30 -30
  17. package/dist/model/graphs/config/page.graphql +263 -256
  18. package/dist/model/graphs/config/panel.graphql +30 -30
  19. package/dist/model/graphs/config/query.graphql +84 -84
  20. package/dist/model/graphs/config/rules.graphql +104 -104
  21. package/dist/model/graphs/config/selectOptions.graphql +48 -47
  22. package/dist/model/graphs/config/table.graphql +213 -182
  23. package/dist/model/graphs/config/tests.graphql +16 -16
  24. package/dist/model/graphs/config/theme.graphql +41 -41
  25. package/dist/model/graphs/config/ui-components.graphql +10 -10
  26. package/dist/model/graphs/domains/scalars.graphql +3 -3
  27. package/dist/model/graphs/filter.graphql +5 -5
  28. package/dist/model/graphs/schema.graphql +7 -7
  29. package/dist/types/graphql.d.ts +4 -2
  30. package/dist/types/graphql.d.ts.map +1 -1
  31. package/dist/types/graphql.js.map +1 -1
  32. package/model/graphs/config/common.graphql +7 -7
  33. package/model/graphs/config/fields.graphql +412 -382
  34. package/model/graphs/config/menu.graphql +60 -54
  35. package/model/graphs/config/mutation.graphql +30 -30
  36. package/model/graphs/config/page.graphql +263 -256
  37. package/model/graphs/config/panel.graphql +30 -30
  38. package/model/graphs/config/query.graphql +84 -84
  39. package/model/graphs/config/rules.graphql +104 -104
  40. package/model/graphs/config/selectOptions.graphql +48 -47
  41. package/model/graphs/config/table.graphql +213 -182
  42. package/model/graphs/config/tests.graphql +16 -16
  43. package/model/graphs/config/theme.graphql +41 -41
  44. package/model/graphs/config/ui-components.graphql +10 -10
  45. package/model/graphs/domains/scalars.graphql +3 -3
  46. package/model/graphs/filter.graphql +5 -5
  47. package/model/graphs/schema.graphql +7 -7
  48. package/package.json +81 -81
@@ -11,6 +11,7 @@ import { builtInProviders } from './providers/index.js';
11
11
  import { deepMergeResolvers, } from './resolvers/index.js';
12
12
  import { dump, load } from 'js-yaml';
13
13
  import { buildQuery } from '@docupace/ihub-core/query';
14
+ import jp from 'jsonpath';
14
15
  const FULL_OBJECT_EXPRESSION_PATTERN = /^\${(.*?)}$/;
15
16
  const INLINE_OBJECT_EXPRESSION_PATTERN = /\${(.*?)}/g;
16
17
  export class ConfigFileStore {
@@ -155,6 +156,7 @@ class ConfigService {
155
156
  configInjectorResolvers;
156
157
  providers;
157
158
  resolvers;
159
+ configurationOverrideProvider;
158
160
  constructor(model, configStores, extensionOptions = {}) {
159
161
  this.configStores = configStores;
160
162
  this.model = model;
@@ -167,6 +169,8 @@ class ConfigService {
167
169
  this.resolvers = extensionOptions.resolvers
168
170
  ? { ...extensionOptions.resolvers }
169
171
  : {};
172
+ this.configurationOverrideProvider =
173
+ extensionOptions.configurationOverrideProvider;
170
174
  if (this.model) {
171
175
  this.generateResolvers();
172
176
  }
@@ -232,12 +236,34 @@ class ConfigService {
232
236
  }
233
237
  return processedData;
234
238
  }
239
+ applyReferenceExtensions(processedData, referenceConfig) {
240
+ if (typeof referenceConfig?.extend !== 'object') {
241
+ return processedData;
242
+ }
243
+ const { extend } = referenceConfig;
244
+ for (const key in extend) {
245
+ const extensionValue = extend[key];
246
+ if (!Array.isArray(extensionValue)) {
247
+ throw new GraphQLError(`$ref.extend.${key} must be an array; received ${typeof extensionValue}`);
248
+ }
249
+ const baseValue = processedData[key];
250
+ if (baseValue === undefined) {
251
+ processedData[key] = extensionValue;
252
+ continue;
253
+ }
254
+ if (!Array.isArray(baseValue)) {
255
+ throw new GraphQLError(`$ref.extend.${key} can only extend an array property; "${key}" resolved to ${typeof baseValue}`);
256
+ }
257
+ processedData[key] = [...baseValue, ...extensionValue];
258
+ }
259
+ return processedData;
260
+ }
235
261
  async processReferencedObject(configPath, obj, context, values) {
236
262
  const referenceConfig = obj.$ref;
237
263
  const refConfigPath = typeof referenceConfig === 'object' && referenceConfig.refPath
238
264
  ? referenceConfig.refPath
239
265
  : referenceConfig;
240
- const imageData = await this.processImageReference(refConfigPath);
266
+ const imageData = await this.processImageReference(refConfigPath, context);
241
267
  if (imageData) {
242
268
  return imageData;
243
269
  }
@@ -246,6 +272,7 @@ class ConfigService {
246
272
  ? this.updatePathValues(referencedData, referenceConfig.path)
247
273
  : referencedData;
248
274
  processedData = this.applyReferenceOverrides(processedData, referenceConfig);
275
+ processedData = this.applyReferenceExtensions(processedData, referenceConfig);
249
276
  processedData = await this.processObjectExpressions(processedData, values, context);
250
277
  return this.processObject(configPath, processedData, context, values);
251
278
  }
@@ -346,29 +373,37 @@ class ConfigService {
346
373
  return deepMergeResolvers(builtInMutationResolvers, hostMutationResolvers);
347
374
  };
348
375
  }
349
- async processConfig(config, context, processProviders) {
376
+ // Applies any stored config-path sub-path overrides across the whole
377
+ // config tree before processConfig's own recursive walk runs, so that
378
+ // overridden values (which may introduce new sub-config) still go
379
+ // through provider injection/__typename dispatch below.
380
+ //
381
+ // rootSubPathOverrides lets a caller that already resolved overrides for
382
+ // the root config (e.g. getConfigFromStore, which fetches the whole-object
383
+ // and sub-path overrides together in one round trip) hand them in directly
384
+ // instead of having the root node re-resolved a second time below; nested
385
+ // nodes discovered deeper in the tree are still resolved individually,
386
+ // since their configPaths aren't known until the tree has been loaded.
387
+ async processConfig(config, context, processProviders, rootSubPathOverrides) {
388
+ const overriddenConfig = await this.applyConfigPathOverride(config, context, processProviders, rootSubPathOverrides);
389
+ return this.processConfigTree(overriddenConfig, context, processProviders);
390
+ }
391
+ async processConfigTree(config, context, processProviders) {
350
392
  if (!config) {
351
393
  return config;
352
394
  }
353
395
  // Handle arrays
354
396
  if (Array.isArray(config)) {
355
- return Promise.all(config.map((item) => this.processConfig(item, context, processProviders)));
397
+ return Promise.all(config.map((item) => this.processConfigTree(item, context, processProviders)));
356
398
  }
357
399
  // Handle objects
358
400
  if (typeof config === 'object') {
359
401
  // Recursively process all properties of config
360
402
  let processedConfig = { ...config };
361
403
  for (const key in processedConfig) {
362
- processedConfig[key] = await this.processConfig(processedConfig[key], context, processProviders);
363
- }
364
- // First process the current object if it has __typename
365
- if (processedConfig?.__typename && processProviders) {
366
- const providerClass = this.providers[processedConfig.__typename];
367
- if (providerClass) {
368
- const provider = new providerClass();
369
- processedConfig = await provider.processConfig(processedConfig, this, context);
370
- }
404
+ processedConfig[key] = await this.processConfigTree(processedConfig[key], context, processProviders);
371
405
  }
406
+ processedConfig = await this.applyTypenameProvider(processedConfig, context, processProviders);
372
407
  return processedConfig;
373
408
  }
374
409
  if (processProviders) {
@@ -376,6 +411,57 @@ class ConfigService {
376
411
  }
377
412
  return config;
378
413
  }
414
+ // Walks the whole config tree up front (pre-order) and, for every object
415
+ // that declares a configPath, deep-sets any stored sub-path overrides
416
+ // (JSONPath-addressed, e.g. "$.columns" or "$.filter.criteria").
417
+ //
418
+ // preFetchedSubPaths is only honored for the root node of the walk (the
419
+ // one being called with a defined third argument); nested calls always
420
+ // omit it so their own configPath gets resolved fresh.
421
+ async applyConfigPathOverride(config, context, processProviders, preFetchedSubPaths) {
422
+ if (!config) {
423
+ return config;
424
+ }
425
+ if (Array.isArray(config)) {
426
+ return Promise.all(config.map((item) => this.applyConfigPathOverride(item, context, processProviders)));
427
+ }
428
+ if (typeof config !== 'object') {
429
+ return config;
430
+ }
431
+ let result = config;
432
+ if (processProviders) {
433
+ const subPathPatch = preFetchedSubPaths !== undefined
434
+ ? preFetchedSubPaths
435
+ : result.configPath && this.configurationOverrideProvider
436
+ ? (await this.configurationOverrideProvider.resolve(result.configPath, context)).subPaths
437
+ : null;
438
+ if (subPathPatch) {
439
+ for (const [jsonPath, value] of Object.entries(subPathPatch)) {
440
+ result = { ...result };
441
+ const applied = jp.value(result, jsonPath, value);
442
+ if (applied === undefined) {
443
+ throw new GraphQLError(`Configuration override for "${result.configPath}" targets a JSONPath that does not resolve to a settable location: "${jsonPath}"`);
444
+ }
445
+ }
446
+ }
447
+ }
448
+ const overriddenEntries = await Promise.all(Object.entries(result).map(async ([key, value]) => [
449
+ key,
450
+ await this.applyConfigPathOverride(value, context, processProviders),
451
+ ]));
452
+ return Object.fromEntries(overriddenEntries);
453
+ }
454
+ async applyTypenameProvider(processedConfig, context, processProviders) {
455
+ if (!processedConfig?.__typename || !processProviders) {
456
+ return processedConfig;
457
+ }
458
+ const providerClass = this.providers[processedConfig.__typename];
459
+ if (!providerClass) {
460
+ return processedConfig;
461
+ }
462
+ const provider = new providerClass();
463
+ return await provider.processConfig(processedConfig, this, context);
464
+ }
379
465
  async getRefConfig(configPath, refConfigPath, context, values) {
380
466
  let fullPath;
381
467
  if (refConfigPath.startsWith('.')) {
@@ -462,13 +548,21 @@ class ConfigService {
462
548
  };
463
549
  return await processValue(object);
464
550
  }
465
- async processImageReference(refConfigPath) {
551
+ async processImageReference(refConfigPath, context) {
466
552
  const SUPPORTED_IMAGE_FORMATS = ['.jpg', '.jpeg', '.png', '.svg'];
467
553
  // Check if the reference is an image file
468
554
  const ext = path.extname(refConfigPath).toLowerCase();
469
555
  if (!SUPPORTED_IMAGE_FORMATS.includes(ext)) {
470
556
  return null;
471
557
  }
558
+ const override = await this.configurationOverrideProvider?.resolve(refConfigPath, context);
559
+ if (override?.whole?.contentType) {
560
+ return {
561
+ data: override.whole.value,
562
+ mimeType: override.whole.contentType,
563
+ hash: createHash('sha256').update(override.whole.value).digest('hex'),
564
+ };
565
+ }
472
566
  let standardStore;
473
567
  for (const store of this.configStores) {
474
568
  if (store instanceof ConfigFileStore) {
@@ -520,19 +614,31 @@ class ConfigService {
520
614
  return 'application/octet-stream';
521
615
  }
522
616
  }
523
- async getConfigFromStore(path) {
617
+ // Resolves the whole-object override and any sub-path overrides for
618
+ // configPath together, in one provider round trip, instead of fetching
619
+ // them separately at different points of the processing pipeline. The
620
+ // sub-path overrides are handed back alongside the config so callers can
621
+ // thread them into processConfig rather than re-resolving them later.
622
+ async getConfigFromStore(configPath, context) {
623
+ const override = await this.configurationOverrideProvider?.resolve(configPath, context);
624
+ const subPathOverrides = override?.subPaths ?? null;
625
+ if (override?.whole && !override.whole.contentType) {
626
+ return { config: override.whole.value, subPathOverrides };
627
+ }
524
628
  const exceptions = [];
525
629
  for (const [index, configStore] of this.configStores.entries()) {
526
630
  try {
527
- return await configStore.getConfig(path);
631
+ const config = await configStore.getConfig(configPath);
632
+ return { config, subPathOverrides };
528
633
  }
529
634
  catch (e) {
530
635
  exceptions.push(e);
531
636
  if (index == this.configStores.length - 1) {
532
- throw new GraphQLError(`Config not found in path in any store: ${path}`, { originalError: exceptions });
637
+ throw new GraphQLError(`Config not found in path in any store: ${configPath}`, { originalError: exceptions });
533
638
  }
534
639
  }
535
640
  }
641
+ return { config: undefined, subPathOverrides };
536
642
  }
537
643
  async hasConfig(configPath) {
538
644
  return (await Promise.all(this.configStores.map((configStore) => configStore.hasConfig(configPath)))).some(Boolean);
@@ -542,9 +648,9 @@ class ConfigService {
542
648
  return this.getDirectConfig(globalPath, context, values, processProviders);
543
649
  }
544
650
  async getDirectConfig(configPath, context, values, processProviders) {
545
- const obj = await this.getConfigFromStore(configPath);
651
+ const { config: obj, subPathOverrides } = await this.getConfigFromStore(configPath, context);
546
652
  const fullObj = await this.processObject(configPath, obj, context, values);
547
- const processedObj = await this.processConfig(fullObj, context, processProviders);
653
+ const processedObj = await this.processConfig(fullObj, context, processProviders, subPathOverrides);
548
654
  return processedObj;
549
655
  }
550
656
  async listDirectConfigs(configPath) {
@@ -895,21 +1001,22 @@ class ConfigService {
895
1001
  }
896
1002
  async getPageConfig(pagePath, context, processConfig, rulesContext) {
897
1003
  const globalPath = path.join('global', 'pages', pagePath);
898
- const obj = await this.getConfigFromStore(globalPath);
1004
+ const { config: obj, subPathOverrides } = await this.getConfigFromStore(globalPath, context);
899
1005
  const fullObj = await this.processObject(globalPath, obj, context, null);
900
1006
  const matchingRuleGroups = await this.getRuleGroups(rulesContext, context);
901
1007
  const configToProcess = this.applyFieldRuleOverrides(fullObj, matchingRuleGroups);
902
- return await this.processConfig(configToProcess, context, processConfig);
1008
+ return await this.processConfig(configToProcess, context, processConfig, subPathOverrides);
903
1009
  }
904
1010
  async init() {
905
1011
  return Promise.all(this.configStores.map((configStore) => configStore.init()));
906
1012
  }
907
1013
  }
908
- export const defaultConfigService = ({ model, configStores, configInjectorResolvers, providers, resolvers, }) => {
1014
+ export const defaultConfigService = ({ model, configStores, configInjectorResolvers, providers, resolvers, configurationOverrideProvider, }) => {
909
1015
  const extensionOptions = {
910
1016
  configInjectorResolvers,
911
1017
  providers,
912
1018
  resolvers,
1019
+ configurationOverrideProvider,
913
1020
  };
914
1021
  return new ConfigService(model, configStores.map((configStore) => new ConfigFileStore(configStore)), extensionOptions);
915
1022
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config-service.js","sourceRoot":"","sources":["../src/config-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-service.js","sourceRoot":"","sources":["../src/config-service.ts"],"names":[],"mappings":"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"}
@@ -1 +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;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGrE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,MAAM,MAAM,iBAAiB,GAAG,KAAK,KAAK,EAAE,KAAK,KAAK,cAAc,CAAC;AAErE,wBAAgB,uBAAuB,CACrC,OAAO,CAAC,EAAE,sBAAsB,GAC/B,iBAAiB,CAgBnB"}
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;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGrE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,MAAM,MAAM,iBAAiB,GAAG,KAAK,KAAK,EAAE,KAAK,KAAK,cAAc,CAAC;AAErE,wBAAgB,uBAAuB,CACrC,OAAO,CAAC,EAAE,sBAAsB,GAC/B,iBAAiB,CAiBnB"}
@@ -13,6 +13,7 @@ export function createConfigMapperClass(options) {
13
13
  configInjectorResolvers: options?.configInjectorResolvers,
14
14
  providers: options?.providers,
15
15
  resolvers: options?.resolvers,
16
+ configurationOverrideProvider: options?.configurationOverrideProvider,
16
17
  });
17
18
  }
18
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config-mapper.js","sourceRoot":"","sources":["../../src/mappers/config-mapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAI7D,MAAM,UAAU,uBAAuB,CACrC,OAAgC;IAEhC,OAAO,MAAM,YAAa,SAAQ,cAAc;QAC9C,YAAY,KAAY;YACtB,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzB,CAAC;QAED,IAAI;YACF,oBAAoB,CAAC;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE;gBACxD,uBAAuB,EAAE,OAAO,EAAE,uBAAuB;gBACzD,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,SAAS,EAAE,OAAO,EAAE,SAAS;aAC9B,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config-mapper.js","sourceRoot":"","sources":["../../src/mappers/config-mapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAI7D,MAAM,UAAU,uBAAuB,CACrC,OAAgC;IAEhC,OAAO,MAAM,YAAa,SAAQ,cAAc;QAC9C,YAAY,KAAY;YACtB,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzB,CAAC;QAED,IAAI;YACF,oBAAoB,CAAC;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE;gBACxD,uBAAuB,EAAE,OAAO,EAAE,uBAAuB;gBACzD,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,6BAA6B,EAAE,OAAO,EAAE,6BAA6B;aACtE,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,8 +1,8 @@
1
- interface IElement {
2
- name: String
3
- }
4
-
5
- interface IRowElement implements IElement {
6
- cols: Int
7
- name: String
1
+ interface IElement {
2
+ name: String
3
+ }
4
+
5
+ interface IRowElement implements IElement {
6
+ cols: Int
7
+ name: String
8
8
  }