openxiangda-contracts 2.6.0 → 2.7.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.
@@ -1,4 +1,5 @@
1
1
  import type { Diagnostic } from './types.js';
2
+ export declare function validateDataResourceListActions(value: unknown, path: string): Diagnostic[];
2
3
  /** Named views may select existing presentation fields, never redefine data facts. */
3
4
  export declare function validateDataResourceViews(resource: Record<string, unknown>): Diagnostic[];
4
5
  //# sourceMappingURL=data-view-validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-view-validation.d.ts","sourceRoot":"","sources":["../src/data-view-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAc7C,sFAAsF;AACtF,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,UAAU,EAAE,CAuNd"}
1
+ {"version":3,"file":"data-view-validation.d.ts","sourceRoot":"","sources":["../src/data-view-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CAO1F;AAaD,sFAAsF;AACtF,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,UAAU,EAAE,CAyNd"}
@@ -1,4 +1,13 @@
1
1
  import { diagnostic, isRecord } from './validation-common.js';
2
+ export function validateDataResourceListActions(value, path) {
3
+ if (value === undefined)
4
+ return [];
5
+ const invalid = (message, at = path) => diagnostic('DATA_RESOURCE_LIST_ACTION_INVALID', message, at);
6
+ if (!isRecord(value))
7
+ return [invalid('列表操作必须是对象')];
8
+ return Object.entries(value).flatMap(([key, enabled]) => !['import', 'export'].includes(key) ? [invalid('未知列表操作', `${path}.${key}`)] :
9
+ typeof enabled !== 'boolean' ? [invalid('列表操作必须是布尔值', `${path}.${key}`)] : []);
10
+ }
2
11
  const emptyArrayTypes = new Set([
3
12
  'option.multiple',
4
13
  'cascade.multiple',
@@ -94,6 +103,7 @@ export function validateDataResourceViews(resource) {
94
103
  }
95
104
  exact(layout, kind === 'list'
96
105
  ? [
106
+ 'actions',
97
107
  'fieldOrder',
98
108
  'defaultPageSize',
99
109
  'searchableFields',
@@ -107,6 +117,7 @@ export function validateDataResourceViews(resource) {
107
117
  !['flat', 'sections'].includes(String(layout.layout)))
108
118
  issue('布局无效', `${path}.${kind}.layout`);
109
119
  if (kind === 'list') {
120
+ diagnostics.push(...validateDataResourceListActions(layout.actions, `${path}.list.actions`));
110
121
  if (layout.defaultPageSize !== undefined &&
111
122
  (!Number.isInteger(layout.defaultPageSize) ||
112
123
  Number(layout.defaultPageSize) < 1 ||
@@ -1 +1 @@
1
- {"version":3,"file":"data-view-validation.js","sourceRoot":"","sources":["../src/data-view-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-view-validation.js","sourceRoot":"","sources":["../src/data-view-validation.ts"],"names":[],"mappings":"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"}
@@ -1046,6 +1046,8 @@ function compileCapabilities(config) {
1046
1046
  });
1047
1047
  }
1048
1048
  for (const [fieldCode, rawPolicy] of Object.entries(resource.fieldPolicies)) {
1049
+ if (isDataAuditMetadataField(fieldCode))
1050
+ continue;
1049
1051
  const policy = object(rawPolicy, `${pointer}/fieldPolicies/${fieldCode}`);
1050
1052
  for (const operation of ['read', 'create', 'update']) {
1051
1053
  if (!Array.isArray(policy[operation]))
@@ -2799,6 +2801,17 @@ function validateAuthorizationReferences(config, capabilities) {
2799
2801
  config.data.resources.forEach((rawResource, index) => {
2800
2802
  const resourcePointer = `/config/data/resources/${index}`;
2801
2803
  const resource = object(rawResource, resourcePointer);
2804
+ for (const [fieldCode, rawPolicy] of Object.entries(resource.fieldPolicies || {})) {
2805
+ if (!isDataAuditMetadataField(fieldCode))
2806
+ continue;
2807
+ const pointer = `${resourcePointer}/fieldPolicies/${fieldCode}/read`;
2808
+ const policy = object(rawPolicy, `${resourcePointer}/fieldPolicies/${fieldCode}`);
2809
+ for (const capability of uniqueStrings(policy.read || [], pointer, 2000)) {
2810
+ if (!capabilityCodes.has(capability)) {
2811
+ fail('NATIVE_CAPABILITY_REFERENCE_MISSING', pointer);
2812
+ }
2813
+ }
2814
+ }
2802
2815
  const surface = resource.surface === undefined
2803
2816
  ? {}
2804
2817
  : object(resource.surface, `${resourcePointer}/surface`);