@docupace/ihub-config 1.1.16 → 1.1.17-schwab.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.
@@ -75,7 +75,15 @@ declare class ConfigService {
75
75
  getDirectConfig(configPath: string, context: any, values?: any, processProviders?: boolean): Promise<any>;
76
76
  listDirectConfigs(configPath: string): Promise<any[]>;
77
77
  updateConfig(configPath: string, config: any, context: any): Promise<any>;
78
- getPageConfig(pagePath: string, context: any, processConfig?: boolean): Promise<any>;
78
+ private normalizePathForMatching;
79
+ private applyFieldRuleToElement;
80
+ private applyOverridesToConfig;
81
+ private resolveQuerySelectOptions;
82
+ private inlineQuerySelectOptions;
83
+ private stripNulls;
84
+ private applyFieldRuleOverrides;
85
+ getRuleGroups(rulesContext: any, context: any): Promise<any[]>;
86
+ getPageConfig(pagePath: string, context: any, processConfig?: boolean, rulesContext?: any): Promise<any>;
79
87
  init(): Promise<void[]>;
80
88
  }
81
89
  export declare const defaultConfigService: ({ model, configStores, configInjectorResolvers, providers, resolvers, }: DefaultConfigServiceParams) => ConfigService;
@@ -1 +1 @@
1
- {"version":3,"file":"config-service.d.ts","sourceRoot":"","sources":["../src/config-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-service.d.ts","sourceRoot":"","sources":["../src/config-service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import path from 'node:path';
2
2
  import { promises as fsPromises } from 'node:fs';
3
3
  import { simpleGit } from 'simple-git';
4
- import { _logger as log } from './globals.js';
4
+ import { _logger as log, cliOptions } from './globals.js';
5
5
  import { GraphQLError } from 'graphql';
6
6
  import { fileExists } from './lib/file-system.js';
7
7
  import replaceDotsOutsideExpressions from './lib/replace-dots-outside-expressions.js';
@@ -10,6 +10,7 @@ import { injectConfigValue, } from './injector-resolvers/config-injector.js';
10
10
  import { builtInProviders } from './providers/index.js';
11
11
  import { deepMergeResolvers, } from './resolvers/index.js';
12
12
  import { dump, load } from 'js-yaml';
13
+ import { buildQuery } from '@docupace/ihub-core/query';
13
14
  const FULL_OBJECT_EXPRESSION_PATTERN = /^\${(.*?)}$/;
14
15
  const INLINE_OBJECT_EXPRESSION_PATTERN = /\${(.*?)}/g;
15
16
  export class ConfigFileStore {
@@ -261,9 +262,19 @@ class ConfigService {
261
262
  const builtInQueryResolvers = {
262
263
  pages: () => ({
263
264
  getPageConfig: async (obj, context) => {
264
- const pageConfig = await this.getPageConfig(obj.path, context, true);
265
+ const pageConfig = await this.getPageConfig(obj.path, context, true, obj.context);
265
266
  return pageConfig;
266
267
  },
268
+ getAIConfig: async (obj, context) => {
269
+ const pageConfig = await this.getPageConfig(obj.path, context, true, obj.context);
270
+ const inlined = await this.inlineQuerySelectOptions(pageConfig, context);
271
+ return this.stripNulls(inlined) ?? null;
272
+ },
273
+ }),
274
+ rules: () => ({
275
+ getRuleGroups: async (obj, context) => {
276
+ return await this.getRuleGroups(obj.context, context);
277
+ },
267
278
  }),
268
279
  widgets: () => ({
269
280
  list: async (obj, context) => {
@@ -545,10 +556,196 @@ class ConfigService {
545
556
  await this.configStores[0].updateConfig(globalPath, config);
546
557
  return await this.getConfig(configPath, context, null, true);
547
558
  }
548
- async getPageConfig(pagePath, context, processConfig) {
549
- const config = await this.getConfig(path.join('pages', pagePath), context, null, processConfig);
559
+ normalizePathForMatching(fieldPath) {
560
+ return fieldPath
561
+ .split('.')
562
+ .filter((segment) => !segment.startsWith('@'))
563
+ .join('.');
564
+ }
565
+ applyFieldRuleToElement(element, fieldRule) {
566
+ const result = { ...element };
567
+ const applyIfUndefined = (fieldKey, ruleKey = fieldKey) => {
568
+ if ((result[fieldKey] === undefined || result[fieldKey] === null) &&
569
+ fieldRule[ruleKey] !== undefined) {
570
+ result[fieldKey] = fieldRule[ruleKey];
571
+ }
572
+ };
573
+ applyIfUndefined('required');
574
+ applyIfUndefined('readonly');
575
+ applyIfUndefined('defaultValue');
576
+ applyIfUndefined('messageLabel');
577
+ applyIfUndefined('requiredCondition');
578
+ applyIfUndefined('visibilityCondition', 'availabilityCondition');
579
+ applyIfUndefined('maxLength');
580
+ applyIfUndefined('minLength');
581
+ applyIfUndefined('validation');
582
+ applyIfUndefined('minDate');
583
+ applyIfUndefined('maxDate');
584
+ return result;
585
+ }
586
+ applyOverridesToConfig(config, fieldRuleMap) {
587
+ if (!config || typeof config !== 'object') {
588
+ return config;
589
+ }
590
+ if (Array.isArray(config)) {
591
+ return config.map((item) => this.applyOverridesToConfig(item, fieldRuleMap));
592
+ }
593
+ let result = { ...config };
594
+ if (typeof result.path === 'string') {
595
+ const normalizedPath = this.normalizePathForMatching(result.path);
596
+ const fieldRule = fieldRuleMap.get(normalizedPath);
597
+ if (fieldRule) {
598
+ result = this.applyFieldRuleToElement(result, fieldRule);
599
+ }
600
+ }
601
+ for (const key of Object.keys(result)) {
602
+ if (result[key] && typeof result[key] === 'object') {
603
+ result[key] = this.applyOverridesToConfig(result[key], fieldRuleMap);
604
+ }
605
+ }
606
+ return result;
607
+ }
608
+ async resolveQuerySelectOptions(selectOptions, context) {
609
+ // Skip dynamic queries that require runtime form state or search-as-you-type
610
+ if (!this.model ||
611
+ selectOptions.queryOnTyping ||
612
+ selectOptions.variablesExpressions) {
613
+ return selectOptions;
614
+ }
615
+ try {
616
+ // When apiLevel is '2', list endpoints wrap results in { items: [...] }.
617
+ // buildQueryStructFromInput does not check cliOptions itself, so we must
618
+ // pass pathPrefix explicitly to get `items { fields }` in the query.
619
+ const effectivePathPrefix = selectOptions.responsePathPrefix ??
620
+ (cliOptions.apiLevel === '2' ? 'items' : undefined);
621
+ const query = buildQuery({
622
+ queryName: selectOptions.queryName,
623
+ operationName: selectOptions.operationName || 'AIConfigQuery',
624
+ paths: selectOptions.paths || [],
625
+ variableDefinitions: selectOptions.variableDefinitions,
626
+ pathPrefix: effectivePathPrefix,
627
+ });
628
+ const result = await this.model.executeOperation({ query, variables: selectOptions.variables ?? {} }, context);
629
+ if (result.errors?.length > 0) {
630
+ log.warn({ errors: result.errors }, 'QuerySelectOptions resolution failed');
631
+ return selectOptions;
632
+ }
633
+ const navPath = effectivePathPrefix
634
+ ? `${selectOptions.queryName}.${effectivePathPrefix}`
635
+ : selectOptions.queryName;
636
+ let data = result.data;
637
+ for (const part of navPath.split('.')) {
638
+ data = data?.[part];
639
+ }
640
+ if (Array.isArray(data)) {
641
+ return data;
642
+ }
643
+ return data == null ? [] : [data];
644
+ }
645
+ catch (error) {
646
+ log.warn({ error }, 'Failed to resolve QuerySelectOptions');
647
+ return selectOptions;
648
+ }
649
+ }
650
+ async inlineQuerySelectOptions(config, context) {
651
+ if (config === null || config === undefined) {
652
+ return config;
653
+ }
654
+ if (Array.isArray(config)) {
655
+ return Promise.all(config.map((item) => this.inlineQuerySelectOptions(item, context)));
656
+ }
657
+ if (typeof config === 'object') {
658
+ if (config.__typename === 'QuerySelectOptions') {
659
+ return this.resolveQuerySelectOptions(config, context);
660
+ }
661
+ const entries = Object.entries(config);
662
+ const processedValues = await Promise.all(entries.map(([, value]) => this.inlineQuerySelectOptions(value, context)));
663
+ return Object.fromEntries(entries.map(([key], index) => [key, processedValues[index]]));
664
+ }
550
665
  return config;
551
666
  }
667
+ stripNulls(obj) {
668
+ if (obj === null || obj === undefined) {
669
+ return undefined;
670
+ }
671
+ if (Array.isArray(obj)) {
672
+ return obj
673
+ .map((item) => this.stripNulls(item))
674
+ .filter((item) => item !== undefined);
675
+ }
676
+ if (typeof obj === 'object') {
677
+ const result = {};
678
+ for (const [key, value] of Object.entries(obj)) {
679
+ const stripped = this.stripNulls(value);
680
+ if (stripped !== undefined) {
681
+ result[key] = stripped;
682
+ }
683
+ }
684
+ return result;
685
+ }
686
+ return obj;
687
+ }
688
+ applyFieldRuleOverrides(config, matchingRuleGroups) {
689
+ // Sort ascending by priority so higher priority value overwrites lower
690
+ const sorted = [...matchingRuleGroups].sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));
691
+ const fieldRuleMap = new Map();
692
+ for (const ruleGroup of sorted) {
693
+ for (const fieldRule of ruleGroup.fieldRules ?? []) {
694
+ if (!fieldRule.path) {
695
+ continue;
696
+ }
697
+ const normalizedPath = this.normalizePathForMatching(fieldRule.path);
698
+ const existing = fieldRuleMap.get(normalizedPath);
699
+ fieldRuleMap.set(normalizedPath, existing ? { ...existing, ...fieldRule } : { ...fieldRule });
700
+ }
701
+ }
702
+ if (fieldRuleMap.size === 0) {
703
+ return config;
704
+ }
705
+ return this.applyOverridesToConfig(config, fieldRuleMap);
706
+ }
707
+ async getRuleGroups(rulesContext, context) {
708
+ const ruleFiles = await this.listDirectConfigs('global/rules');
709
+ const allRuleGroups = [];
710
+ for (const ruleFile of ruleFiles) {
711
+ try {
712
+ const ruleGroups = await this.getDirectConfig(path.join('global', 'rules', ruleFile), context, null, false);
713
+ if (Array.isArray(ruleGroups)) {
714
+ allRuleGroups.push(...ruleGroups);
715
+ }
716
+ }
717
+ catch {
718
+ // skip unloadable rule files
719
+ }
720
+ }
721
+ if (!rulesContext) {
722
+ return allRuleGroups;
723
+ }
724
+ return allRuleGroups.filter((ruleGroup) => {
725
+ if (!ruleGroup.condition) {
726
+ return true;
727
+ }
728
+ try {
729
+ const keys = Object.keys(rulesContext);
730
+ const values = Object.values(rulesContext);
731
+ return new Function(...keys, `return ${ruleGroup.condition};`)(...values);
732
+ }
733
+ catch {
734
+ return false;
735
+ }
736
+ });
737
+ }
738
+ async getPageConfig(pagePath, context, processConfig, rulesContext) {
739
+ const globalPath = path.join('global', 'pages', pagePath);
740
+ const obj = await this.getConfigFromStore(globalPath);
741
+ const fullObj = await this.processObject(globalPath, obj, context, null);
742
+ let configToProcess = fullObj;
743
+ if (rulesContext) {
744
+ const matchingRuleGroups = await this.getRuleGroups(rulesContext, context);
745
+ configToProcess = this.applyFieldRuleOverrides(fullObj, matchingRuleGroups);
746
+ }
747
+ return await this.processConfig(configToProcess, context, processConfig);
748
+ }
552
749
  async init() {
553
750
  return Promise.all(this.configStores.map((configStore) => configStore.init()));
554
751
  }
@@ -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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"}
@@ -58,7 +58,7 @@ type InputField implements IField & IRowElement & IElement {
58
58
  rows: Int
59
59
  maxRows: Int
60
60
  minRows: Int
61
- # End of text area configuration
61
+ # End of text area configuration
62
62
  }
63
63
 
64
64
  type CustomValidator implements IRowElement & IElement {
@@ -113,6 +113,7 @@ type PhoneField implements IField & IRowElement & IElement {
113
113
  excludeFromQueryInput: Boolean
114
114
  visibilityCondition: String
115
115
  disabledCondition: String
116
+ validation: FieldValidation
116
117
  }
117
118
 
118
119
  type DateField implements IField & IRowElement & IElement {
@@ -131,6 +132,7 @@ type DateField implements IField & IRowElement & IElement {
131
132
  disabledCondition: String
132
133
  minDate: String # e.q. "now" or "2025-03-20"
133
134
  maxDate: String # e.q. "now" or "2025-03-20"
135
+ validation: FieldValidation
134
136
  }
135
137
 
136
138
  type DateRangeField implements IDateRangeField & IRowElement & IElement {
@@ -173,6 +175,7 @@ type SelectField implements IField & IRowElement & IElement {
173
175
  excludeId: Boolean
174
176
  helperText: String
175
177
  autoSelectSingleOption: Boolean
178
+ validation: FieldValidation
176
179
  }
177
180
 
178
181
  type ToggleField implements IField & IRowElement & IElement {
@@ -194,6 +197,7 @@ type ToggleField implements IField & IRowElement & IElement {
194
197
  visibilityCondition: String
195
198
  disabledCondition: String
196
199
  linkedFields: [String!]
200
+ validation: FieldValidation
197
201
  }
198
202
 
199
203
  type BooleanField implements IField & IRowElement & IElement {
@@ -211,6 +215,7 @@ type BooleanField implements IField & IRowElement & IElement {
211
215
  visibilityCondition: String
212
216
  disabledCondition: String
213
217
  linkedFields: [String!]
218
+ validation: FieldValidation
214
219
  }
215
220
 
216
221
  type ChipSelectWithInputField implements IField & IRowElement & IElement {
@@ -254,6 +259,7 @@ type CustomField implements IField & IRowElement & IElement {
254
259
  excludeFromQueryInput: Boolean
255
260
  visibilityCondition: String
256
261
  disabledCondition: String
262
+ validation: FieldValidation
257
263
  }
258
264
 
259
265
  type StatusChipField implements IField & IRowElement & IElement {
@@ -262,6 +268,7 @@ type StatusChipField implements IField & IRowElement & IElement {
262
268
  label: String
263
269
  name: String!
264
270
  path: String!
271
+ validation: FieldValidation
265
272
  }
266
273
 
267
274
  type CheckboxGroupValue {
@@ -289,6 +296,11 @@ enum FieldValueType {
289
296
  Float
290
297
  }
291
298
 
299
+ type FieldValidation {
300
+ expression: String
301
+ message: String
302
+ }
303
+
292
304
  type StringValidationRule {
293
305
  message: String
294
306
  value: String
@@ -38,6 +38,11 @@ type ActionButton implements IMenuItem {
38
38
  action: String
39
39
  disabled: Boolean
40
40
  menuItems: [MenuItem!]
41
+ """
42
+ Reference to a dynamic menu configuration.
43
+ When set, menuItems will be loaded from the backend instead of static config.
44
+ """
45
+ dynamicMenuRef: String
41
46
  visibilityCondition: String
42
47
  description: String
43
48
  }
@@ -1,6 +1,11 @@
1
1
 
2
2
  type PageQuery {
3
- getPageConfig(path : String) : Page
3
+ getPageConfig(path: String, context: JSON): Page
4
+ getAIConfig(path: String, context: JSON): JSON
5
+ }
6
+
7
+ type RulesQuery {
8
+ getRuleGroups(context: JSON): [RuleGroup!]!
4
9
  }
5
10
 
6
11
  type WidgetQuery {
@@ -12,12 +17,36 @@ type ThemeQuery {
12
17
  get(path: String): Theme
13
18
  }
14
19
 
20
+ """
21
+ Input for querying dynamic menus
22
+ """
23
+ input MenuInput {
24
+ """
25
+ The menu reference/key that identifies which menu to load.
26
+ The resolver can use this key to load menu items from any source:
27
+ database, external API, cache, business logic, YAML config, etc.
28
+ """
29
+ menuRef: String!
30
+ }
31
+
32
+ """
33
+ Query for loading dynamic menu items by reference key.
34
+ """
35
+ type MenuQuery {
36
+ """
37
+ Get menu items by reference key.
38
+ """
39
+ get(input: MenuInput!): [MenuItem!]
40
+ }
41
+
15
42
  type ConfigQuery {
16
- pages : PageQuery
17
- widgets : WidgetQuery
43
+ pages: PageQuery
44
+ widgets: WidgetQuery
18
45
  tests: TestQuery
19
46
  themes: ThemeQuery
20
- data : DataQuery
47
+ data: DataQuery
48
+ rules: RulesQuery
49
+ menus: MenuQuery
21
50
  }
22
51
 
23
52
  type DataQuery {
@@ -0,0 +1,80 @@
1
+
2
+ type RuleGroup {
3
+ name: String
4
+ description: String
5
+
6
+ """Type to apply the role group to. For example IContact or BaseWorkItem"""
7
+ type: String
8
+ """Condition to define which rule groups will be applied. like for example custodian or registrationType"""
9
+ condition: String
10
+
11
+ """Priority defined when multiple rule groups are matched. Higher value wins."""
12
+ priority: Int
13
+ fieldRules: [IFieldRule!]!
14
+ }
15
+
16
+ interface IFieldRule {
17
+ defaultValue: String
18
+ messageLabel: String
19
+ path: String!
20
+ readonly: Boolean
21
+ required: Boolean
22
+ requiredCondition: String
23
+ availabilityCondition: String # maps to visibilityCondition on UI
24
+ }
25
+
26
+ type ListFieldRule implements IFieldRule {
27
+ defaultValue: String
28
+ messageLabel: String
29
+ path: String!
30
+ readonly: Boolean
31
+ required: Boolean
32
+ requiredCondition: String
33
+ availabilityCondition: String # maps to visibilityCondition on UI
34
+ validationRules: [ValidationRule!]
35
+ validation: FieldValidation
36
+ }
37
+
38
+ type ValidationRule {
39
+ condition: String
40
+ errorMessage: String
41
+ }
42
+
43
+ type StringFieldRule implements IFieldRule {
44
+ defaultValue: String
45
+ maxLength: Int
46
+ messageLabel: String
47
+ minLength: Int
48
+ path: String!
49
+ readonly: Boolean
50
+ required: Boolean
51
+ requiredCondition: String
52
+ type: FieldValueType
53
+ validation: InputValidation
54
+ availabilityCondition: String
55
+ }
56
+
57
+ type BooleanFieldRule implements IFieldRule {
58
+ defaultValue: String
59
+ messageLabel: String
60
+ path: String!
61
+ readonly: Boolean
62
+ required: Boolean
63
+ requiredCondition: String
64
+ validation: InputValidation
65
+ availabilityCondition: String
66
+ }
67
+
68
+
69
+ type DateFieldRule implements IFieldRule {
70
+ defaultValue: String
71
+ messageLabel: String
72
+ path: String!
73
+ readonly: Boolean
74
+ required: Boolean
75
+ requiredCondition: String
76
+ availabilityCondition: String # maps to visibilityCondition on UI
77
+ minDate: String # e.q. "now" or "2025-03-20"
78
+ maxDate: String # e.q. "now" or "2025-03-20"
79
+ validation: FieldValidation
80
+ }
@@ -58,7 +58,7 @@ type InputField implements IField & IRowElement & IElement {
58
58
  rows: Int
59
59
  maxRows: Int
60
60
  minRows: Int
61
- # End of text area configuration
61
+ # End of text area configuration
62
62
  }
63
63
 
64
64
  type CustomValidator implements IRowElement & IElement {
@@ -113,6 +113,7 @@ type PhoneField implements IField & IRowElement & IElement {
113
113
  excludeFromQueryInput: Boolean
114
114
  visibilityCondition: String
115
115
  disabledCondition: String
116
+ validation: FieldValidation
116
117
  }
117
118
 
118
119
  type DateField implements IField & IRowElement & IElement {
@@ -131,6 +132,7 @@ type DateField implements IField & IRowElement & IElement {
131
132
  disabledCondition: String
132
133
  minDate: String # e.q. "now" or "2025-03-20"
133
134
  maxDate: String # e.q. "now" or "2025-03-20"
135
+ validation: FieldValidation
134
136
  }
135
137
 
136
138
  type DateRangeField implements IDateRangeField & IRowElement & IElement {
@@ -173,6 +175,7 @@ type SelectField implements IField & IRowElement & IElement {
173
175
  excludeId: Boolean
174
176
  helperText: String
175
177
  autoSelectSingleOption: Boolean
178
+ validation: FieldValidation
176
179
  }
177
180
 
178
181
  type ToggleField implements IField & IRowElement & IElement {
@@ -194,6 +197,7 @@ type ToggleField implements IField & IRowElement & IElement {
194
197
  visibilityCondition: String
195
198
  disabledCondition: String
196
199
  linkedFields: [String!]
200
+ validation: FieldValidation
197
201
  }
198
202
 
199
203
  type BooleanField implements IField & IRowElement & IElement {
@@ -211,6 +215,7 @@ type BooleanField implements IField & IRowElement & IElement {
211
215
  visibilityCondition: String
212
216
  disabledCondition: String
213
217
  linkedFields: [String!]
218
+ validation: FieldValidation
214
219
  }
215
220
 
216
221
  type ChipSelectWithInputField implements IField & IRowElement & IElement {
@@ -254,6 +259,7 @@ type CustomField implements IField & IRowElement & IElement {
254
259
  excludeFromQueryInput: Boolean
255
260
  visibilityCondition: String
256
261
  disabledCondition: String
262
+ validation: FieldValidation
257
263
  }
258
264
 
259
265
  type StatusChipField implements IField & IRowElement & IElement {
@@ -262,6 +268,7 @@ type StatusChipField implements IField & IRowElement & IElement {
262
268
  label: String
263
269
  name: String!
264
270
  path: String!
271
+ validation: FieldValidation
265
272
  }
266
273
 
267
274
  type CheckboxGroupValue {
@@ -289,6 +296,11 @@ enum FieldValueType {
289
296
  Float
290
297
  }
291
298
 
299
+ type FieldValidation {
300
+ expression: String
301
+ message: String
302
+ }
303
+
292
304
  type StringValidationRule {
293
305
  message: String
294
306
  value: String
@@ -38,6 +38,11 @@ type ActionButton implements IMenuItem {
38
38
  action: String
39
39
  disabled: Boolean
40
40
  menuItems: [MenuItem!]
41
+ """
42
+ Reference to a dynamic menu configuration.
43
+ When set, menuItems will be loaded from the backend instead of static config.
44
+ """
45
+ dynamicMenuRef: String
41
46
  visibilityCondition: String
42
47
  description: String
43
48
  }
@@ -1,6 +1,11 @@
1
1
 
2
2
  type PageQuery {
3
- getPageConfig(path : String) : Page
3
+ getPageConfig(path: String, context: JSON): Page
4
+ getAIConfig(path: String, context: JSON): JSON
5
+ }
6
+
7
+ type RulesQuery {
8
+ getRuleGroups(context: JSON): [RuleGroup!]!
4
9
  }
5
10
 
6
11
  type WidgetQuery {
@@ -12,12 +17,36 @@ type ThemeQuery {
12
17
  get(path: String): Theme
13
18
  }
14
19
 
20
+ """
21
+ Input for querying dynamic menus
22
+ """
23
+ input MenuInput {
24
+ """
25
+ The menu reference/key that identifies which menu to load.
26
+ The resolver can use this key to load menu items from any source:
27
+ database, external API, cache, business logic, YAML config, etc.
28
+ """
29
+ menuRef: String!
30
+ }
31
+
32
+ """
33
+ Query for loading dynamic menu items by reference key.
34
+ """
35
+ type MenuQuery {
36
+ """
37
+ Get menu items by reference key.
38
+ """
39
+ get(input: MenuInput!): [MenuItem!]
40
+ }
41
+
15
42
  type ConfigQuery {
16
- pages : PageQuery
17
- widgets : WidgetQuery
43
+ pages: PageQuery
44
+ widgets: WidgetQuery
18
45
  tests: TestQuery
19
46
  themes: ThemeQuery
20
- data : DataQuery
47
+ data: DataQuery
48
+ rules: RulesQuery
49
+ menus: MenuQuery
21
50
  }
22
51
 
23
52
  type DataQuery {
@@ -0,0 +1,80 @@
1
+
2
+ type RuleGroup {
3
+ name: String
4
+ description: String
5
+
6
+ """Type to apply the role group to. For example IContact or BaseWorkItem"""
7
+ type: String
8
+ """Condition to define which rule groups will be applied. like for example custodian or registrationType"""
9
+ condition: String
10
+
11
+ """Priority defined when multiple rule groups are matched. Higher value wins."""
12
+ priority: Int
13
+ fieldRules: [IFieldRule!]!
14
+ }
15
+
16
+ interface IFieldRule {
17
+ defaultValue: String
18
+ messageLabel: String
19
+ path: String!
20
+ readonly: Boolean
21
+ required: Boolean
22
+ requiredCondition: String
23
+ availabilityCondition: String # maps to visibilityCondition on UI
24
+ }
25
+
26
+ type ListFieldRule implements IFieldRule {
27
+ defaultValue: String
28
+ messageLabel: String
29
+ path: String!
30
+ readonly: Boolean
31
+ required: Boolean
32
+ requiredCondition: String
33
+ availabilityCondition: String # maps to visibilityCondition on UI
34
+ validationRules: [ValidationRule!]
35
+ validation: FieldValidation
36
+ }
37
+
38
+ type ValidationRule {
39
+ condition: String
40
+ errorMessage: String
41
+ }
42
+
43
+ type StringFieldRule implements IFieldRule {
44
+ defaultValue: String
45
+ maxLength: Int
46
+ messageLabel: String
47
+ minLength: Int
48
+ path: String!
49
+ readonly: Boolean
50
+ required: Boolean
51
+ requiredCondition: String
52
+ type: FieldValueType
53
+ validation: InputValidation
54
+ availabilityCondition: String
55
+ }
56
+
57
+ type BooleanFieldRule implements IFieldRule {
58
+ defaultValue: String
59
+ messageLabel: String
60
+ path: String!
61
+ readonly: Boolean
62
+ required: Boolean
63
+ requiredCondition: String
64
+ validation: InputValidation
65
+ availabilityCondition: String
66
+ }
67
+
68
+
69
+ type DateFieldRule implements IFieldRule {
70
+ defaultValue: String
71
+ messageLabel: String
72
+ path: String!
73
+ readonly: Boolean
74
+ required: Boolean
75
+ requiredCondition: String
76
+ availabilityCondition: String # maps to visibilityCondition on UI
77
+ minDate: String # e.q. "now" or "2025-03-20"
78
+ maxDate: String # e.q. "now" or "2025-03-20"
79
+ validation: FieldValidation
80
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docupace/ihub-config",
3
- "version": "1.1.16",
3
+ "version": "1.1.17-schwab.0",
4
4
  "description": "Reusable config GraphQL extension and standalone server",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",
@@ -21,6 +21,7 @@
21
21
  "js-yaml": "^4.1.0",
22
22
  "lodash": "^4.17.21",
23
23
  "pino": "^10.3.1",
24
+ "rimraf": "^6.1.3",
24
25
  "simple-git": "^3.22.0"
25
26
  },
26
27
  "devDependencies": {
@@ -67,9 +68,9 @@
67
68
  "start": "node dist/server.js",
68
69
  "build:code": "tsc -p tsconfig.json",
69
70
  "build:assets": "cpx \"model/**/*.yaml\" ./dist/model && cpx \"model/**/*.graphql\" ./dist/model",
70
- "build": "rm -rf dist && pnpm lint && pnpm build:code && pnpm build:assets",
71
+ "build": "rimraf dist && pnpm lint && pnpm build:code && pnpm build:assets",
71
72
  "watch": "tsc -p tsconfig.json --watch",
72
- "start:build": "rm -rf dist && pnpm build:esm && pnpm build:assets && node dist/server.js",
73
+ "start:build": "rimraf dist && pnpm build:esm && pnpm build:assets && node dist/server.js",
73
74
  "codegen": "graphql-codegen --config codegen.ts",
74
75
  "lint": "eslint \"src/**/*.{js,jsx,ts,tsx}\" \"tests/**/*.{js,jsx,ts,tsx}\"",
75
76
  "lint:fix": "eslint --fix \"src/**/*.{js,jsx,ts,tsx}\" \"tests/**/*.{js,jsx,ts,tsx}\"",