@finos/legend-graph 32.3.14 → 32.3.16
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.
- package/lib/graph/Core_HashUtils.d.ts +2 -1
- package/lib/graph/Core_HashUtils.d.ts.map +1 -1
- package/lib/graph/Core_HashUtils.js +1 -0
- package/lib/graph/Core_HashUtils.js.map +1 -1
- package/lib/graph/metamodel/pure/dataProduct/DataProduct.d.ts +7 -3
- package/lib/graph/metamodel/pure/dataProduct/DataProduct.d.ts.map +1 -1
- package/lib/graph/metamodel/pure/dataProduct/DataProduct.js +15 -6
- package/lib/graph/metamodel/pure/dataProduct/DataProduct.js.map +1 -1
- package/lib/graph-manager/action/changeDetection/DataProductObserveHelper.d.ts +1 -1
- package/lib/graph-manager/action/changeDetection/DataProductObserveHelper.d.ts.map +1 -1
- package/lib/graph-manager/action/changeDetection/DataProductObserveHelper.js +9 -9
- package/lib/graph-manager/action/changeDetection/DataProductObserveHelper.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_EntitlementsDataProduct.d.ts +1 -0
- package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_EntitlementsDataProduct.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_EntitlementsDataProduct.js +1 -0
- package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_EntitlementsDataProduct.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataProduct/V1_DataProduct.d.ts +8 -3
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataProduct/V1_DataProduct.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataProduct/V1_DataProduct.js +17 -7
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataProduct/V1_DataProduct.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_DataProductTransformer.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_DataProductTransformer.js +11 -4
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_DataProductTransformer.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js +5 -5
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_DataProductBuilder.d.ts +3 -2
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_DataProductBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_DataProductBuilder.js +9 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_DataProductBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataProductSerializationHelper.d.ts +3 -2
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataProductSerializationHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataProductSerializationHelper.js +11 -8
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataProductSerializationHelper.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_EntitlementSerializationHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_EntitlementSerializationHelper.js +1 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_EntitlementSerializationHelper.js.map +1 -1
- package/lib/package.json +1 -1
- package/package.json +3 -3
- package/src/graph/Core_HashUtils.ts +1 -0
- package/src/graph/metamodel/pure/dataProduct/DataProduct.ts +17 -6
- package/src/graph-manager/action/changeDetection/DataProductObserveHelper.ts +13 -12
- package/src/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_EntitlementsDataProduct.ts +1 -0
- package/src/graph-manager/protocol/pure/v1/model/packageableElements/dataProduct/V1_DataProduct.ts +19 -6
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_DataProductTransformer.ts +17 -7
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.ts +8 -11
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_DataProductBuilder.ts +17 -0
- package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataProductSerializationHelper.ts +24 -15
- package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_EntitlementSerializationHelper.ts +1 -0
|
@@ -242,6 +242,7 @@ export class SupportInfo implements Hashable {
|
|
|
242
242
|
faqUrl: DataProductLink | undefined;
|
|
243
243
|
supportUrl: DataProductLink | undefined;
|
|
244
244
|
emails: Email[] = [];
|
|
245
|
+
expertise: Expertise[] | undefined;
|
|
245
246
|
|
|
246
247
|
get hashCode(): string {
|
|
247
248
|
return hashArray([
|
|
@@ -251,6 +252,7 @@ export class SupportInfo implements Hashable {
|
|
|
251
252
|
this.faqUrl ?? '',
|
|
252
253
|
this.supportUrl ?? '',
|
|
253
254
|
hashArray(this.emails),
|
|
255
|
+
hashArray(this.expertise ?? []),
|
|
254
256
|
]);
|
|
255
257
|
}
|
|
256
258
|
}
|
|
@@ -368,17 +370,28 @@ export class Expertise implements Hashable {
|
|
|
368
370
|
}
|
|
369
371
|
}
|
|
370
372
|
|
|
373
|
+
export class DataProductOperationalMetadata implements Hashable {
|
|
374
|
+
coverageRegions: DataProduct_Region[] | undefined;
|
|
375
|
+
updateFrequency: DataProduct_DeliveryFrequency | undefined;
|
|
376
|
+
|
|
377
|
+
get hashCode(): string {
|
|
378
|
+
return hashArray([
|
|
379
|
+
CORE_HASH_STRUCTURE.DATA_PRODUCT_OPERATIONAL_METADATA,
|
|
380
|
+
hashArray(this.coverageRegions ?? []),
|
|
381
|
+
this.updateFrequency ?? '',
|
|
382
|
+
]);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
371
386
|
export class DataProduct extends PackageableElement {
|
|
372
387
|
title: string | undefined;
|
|
373
388
|
description: string | undefined;
|
|
374
|
-
coverageRegions: DataProduct_Region[] | undefined;
|
|
375
|
-
deliveryFrequency: DataProduct_DeliveryFrequency | undefined;
|
|
376
389
|
icon: DataProductIcon | undefined;
|
|
377
390
|
accessPointGroups: AccessPointGroup[] = [];
|
|
378
391
|
supportInfo: SupportInfo | undefined;
|
|
379
392
|
type: DataProductType | undefined;
|
|
380
393
|
sampleValues: EmbeddedData[] | undefined;
|
|
381
|
-
|
|
394
|
+
operational: DataProductOperationalMetadata | undefined;
|
|
382
395
|
|
|
383
396
|
override accept_PackageableElementVisitor<T>(
|
|
384
397
|
visitor: PackageableElementVisitor<T>,
|
|
@@ -391,8 +404,6 @@ export class DataProduct extends PackageableElement {
|
|
|
391
404
|
CORE_HASH_STRUCTURE.DATA_PRODUCT,
|
|
392
405
|
this.title ?? '',
|
|
393
406
|
this.description ?? '',
|
|
394
|
-
hashArray(this.coverageRegions ?? []),
|
|
395
|
-
this.deliveryFrequency ?? '',
|
|
396
407
|
this.icon ?? '',
|
|
397
408
|
hashArray(this.accessPointGroups),
|
|
398
409
|
this.supportInfo ?? '',
|
|
@@ -400,7 +411,7 @@ export class DataProduct extends PackageableElement {
|
|
|
400
411
|
hashArray(this.stereotypes.map((val) => val.pointerHashCode)),
|
|
401
412
|
hashArray(this.taggedValues),
|
|
402
413
|
hashArray(this.sampleValues ?? []),
|
|
403
|
-
|
|
414
|
+
this.operational ?? '',
|
|
404
415
|
]);
|
|
405
416
|
}
|
|
406
417
|
}
|
|
@@ -78,6 +78,17 @@ export const observer_DataProductLink = skipObserved(
|
|
|
78
78
|
return metamodel;
|
|
79
79
|
},
|
|
80
80
|
);
|
|
81
|
+
|
|
82
|
+
export const observe_Expertise = skipObserved(
|
|
83
|
+
(metamodel: Expertise): Expertise => {
|
|
84
|
+
makeObservable(metamodel, {
|
|
85
|
+
description: observable,
|
|
86
|
+
expertIds: observable,
|
|
87
|
+
});
|
|
88
|
+
return metamodel;
|
|
89
|
+
},
|
|
90
|
+
);
|
|
91
|
+
|
|
81
92
|
export const observe_SupportInfo = skipObserved(
|
|
82
93
|
(metamodel: SupportInfo): SupportInfo => {
|
|
83
94
|
makeObservable(metamodel, {
|
|
@@ -86,8 +97,10 @@ export const observe_SupportInfo = skipObserved(
|
|
|
86
97
|
faqUrl: observable,
|
|
87
98
|
supportUrl: observable,
|
|
88
99
|
emails: observable,
|
|
100
|
+
expertise: observable,
|
|
89
101
|
});
|
|
90
102
|
metamodel.emails.forEach(observe_Email);
|
|
103
|
+
metamodel.expertise?.forEach(observe_Expertise);
|
|
91
104
|
if (metamodel.documentation) {
|
|
92
105
|
observer_DataProductLink(metamodel.documentation);
|
|
93
106
|
}
|
|
@@ -203,16 +216,6 @@ export const observe_DataProductIcon = skipObserved(
|
|
|
203
216
|
},
|
|
204
217
|
);
|
|
205
218
|
|
|
206
|
-
export const observe_Expertise = skipObserved(
|
|
207
|
-
(metamodel: Expertise): Expertise => {
|
|
208
|
-
makeObservable(metamodel, {
|
|
209
|
-
description: observable,
|
|
210
|
-
expertIds: observable,
|
|
211
|
-
});
|
|
212
|
-
return metamodel;
|
|
213
|
-
},
|
|
214
|
-
);
|
|
215
|
-
|
|
216
219
|
export const observe_DataProduct = skipObserved(
|
|
217
220
|
(metamodel: DataProduct): DataProduct => {
|
|
218
221
|
observe_Abstract_PackageableElement(metamodel);
|
|
@@ -225,7 +228,6 @@ export const observe_DataProduct = skipObserved(
|
|
|
225
228
|
supportInfo: observable,
|
|
226
229
|
icon: observable,
|
|
227
230
|
type: observable,
|
|
228
|
-
expertise: observable,
|
|
229
231
|
});
|
|
230
232
|
|
|
231
233
|
if (metamodel.supportInfo) {
|
|
@@ -234,7 +236,6 @@ export const observe_DataProduct = skipObserved(
|
|
|
234
236
|
if (metamodel.icon) {
|
|
235
237
|
observe_DataProductIcon(metamodel.icon);
|
|
236
238
|
}
|
|
237
|
-
metamodel.expertise?.forEach(observe_Expertise);
|
|
238
239
|
metamodel.accessPointGroups.forEach(observe_APG);
|
|
239
240
|
return metamodel;
|
|
240
241
|
},
|
package/src/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_EntitlementsDataProduct.ts
CHANGED
|
@@ -71,6 +71,7 @@ export class V1_EntitlementsDataProductDetails {
|
|
|
71
71
|
origin?: V1_EntitlementsDataProductOrigin | null;
|
|
72
72
|
lakehouseEnvironment?: V1_EntitlementsLakehouseEnvironment | null;
|
|
73
73
|
dataProduct!: V1_EntitlementsDataProduct;
|
|
74
|
+
fullPath!: string;
|
|
74
75
|
}
|
|
75
76
|
|
|
76
77
|
export class V1_EntitlementsDataProductLite {
|
package/src/graph-manager/protocol/pure/v1/model/packageableElements/dataProduct/V1_DataProduct.ts
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import {
|
|
18
18
|
hashArray,
|
|
19
|
+
uuid,
|
|
19
20
|
type Hashable,
|
|
20
21
|
type PlainObject,
|
|
21
22
|
} from '@finos/legend-shared';
|
|
@@ -146,6 +147,7 @@ export class V1_SupportInfo implements Hashable {
|
|
|
146
147
|
faqUrl: V1_DataProductLink | undefined;
|
|
147
148
|
supportUrl: V1_DataProductLink | undefined;
|
|
148
149
|
emails: V1_Email[] = [];
|
|
150
|
+
expertise: V1_Expertise[] | undefined;
|
|
149
151
|
|
|
150
152
|
get hashCode(): string {
|
|
151
153
|
return hashArray([
|
|
@@ -155,6 +157,7 @@ export class V1_SupportInfo implements Hashable {
|
|
|
155
157
|
this.faqUrl ?? '',
|
|
156
158
|
this.supportUrl ?? '',
|
|
157
159
|
hashArray(this.emails),
|
|
160
|
+
hashArray(this.expertise ?? []),
|
|
158
161
|
]);
|
|
159
162
|
}
|
|
160
163
|
}
|
|
@@ -308,6 +311,7 @@ export class V1_ExternalDataProductType extends V1_DataProductType {
|
|
|
308
311
|
}
|
|
309
312
|
|
|
310
313
|
export class V1_Expertise implements Hashable {
|
|
314
|
+
readonly uuid = uuid();
|
|
311
315
|
description: string | undefined;
|
|
312
316
|
expertIds: string[] | undefined;
|
|
313
317
|
|
|
@@ -320,11 +324,22 @@ export class V1_Expertise implements Hashable {
|
|
|
320
324
|
}
|
|
321
325
|
}
|
|
322
326
|
|
|
327
|
+
export class V1_DataProductOperationalMetadata implements Hashable {
|
|
328
|
+
coverageRegions: V1_DataProductRegion[] | undefined;
|
|
329
|
+
updateFrequency: V1_DeliveryFrequency | undefined;
|
|
330
|
+
|
|
331
|
+
get hashCode(): string {
|
|
332
|
+
return hashArray([
|
|
333
|
+
CORE_HASH_STRUCTURE.DATA_PRODUCT_OPERATIONAL_METADATA,
|
|
334
|
+
hashArray(this.coverageRegions ?? []),
|
|
335
|
+
this.updateFrequency ?? '',
|
|
336
|
+
]);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
|
|
323
340
|
export class V1_DataProduct extends V1_PackageableElement implements Hashable {
|
|
324
341
|
title: string | undefined;
|
|
325
342
|
description: string | undefined;
|
|
326
|
-
coverageRegions: V1_DataProductRegion[] | undefined;
|
|
327
|
-
deliveryFrequency: V1_DeliveryFrequency | undefined;
|
|
328
343
|
icon: V1_DataProductIcon | undefined;
|
|
329
344
|
accessPointGroups: V1_AccessPointGroup[] = [];
|
|
330
345
|
supportInfo: V1_SupportInfo | undefined;
|
|
@@ -332,15 +347,13 @@ export class V1_DataProduct extends V1_PackageableElement implements Hashable {
|
|
|
332
347
|
stereotypes: V1_StereotypePtr[] = [];
|
|
333
348
|
taggedValues: V1_TaggedValue[] = [];
|
|
334
349
|
sampleValues: V1_EmbeddedData[] | undefined;
|
|
335
|
-
|
|
350
|
+
operational: V1_DataProductOperationalMetadata | undefined;
|
|
336
351
|
|
|
337
352
|
override get hashCode(): string {
|
|
338
353
|
return hashArray([
|
|
339
354
|
CORE_HASH_STRUCTURE.DATA_PRODUCT,
|
|
340
355
|
this.title ?? '',
|
|
341
356
|
this.description ?? '',
|
|
342
|
-
hashArray(this.coverageRegions ?? []),
|
|
343
|
-
this.deliveryFrequency ?? '',
|
|
344
357
|
this.icon ?? '',
|
|
345
358
|
hashArray(this.accessPointGroups),
|
|
346
359
|
this.supportInfo ?? '',
|
|
@@ -348,7 +361,7 @@ export class V1_DataProduct extends V1_PackageableElement implements Hashable {
|
|
|
348
361
|
hashArray(this.stereotypes),
|
|
349
362
|
hashArray(this.taggedValues),
|
|
350
363
|
hashArray(this.sampleValues ?? []),
|
|
351
|
-
|
|
364
|
+
this.operational ?? '',
|
|
352
365
|
]);
|
|
353
366
|
}
|
|
354
367
|
|
|
@@ -51,6 +51,7 @@ import {
|
|
|
51
51
|
V1_ExternalDataProductType,
|
|
52
52
|
V1_FunctionAccessPoint,
|
|
53
53
|
type V1_Expertise,
|
|
54
|
+
V1_DataProductOperationalMetadata,
|
|
54
55
|
} from '../../../model/packageableElements/dataProduct/V1_DataProduct.js';
|
|
55
56
|
import { V1_initPackageableElement } from './V1_CoreTransformerHelper.js';
|
|
56
57
|
import { V1_transformRawLambda } from './V1_RawValueSpecificationTransformer.js';
|
|
@@ -126,16 +127,9 @@ export const V1_transformDataProduct = (
|
|
|
126
127
|
V1_initPackageableElement(product, element);
|
|
127
128
|
product.description = element.description;
|
|
128
129
|
product.title = element.title;
|
|
129
|
-
product.deliveryFrequency = element.deliveryFrequency as
|
|
130
|
-
| V1_DeliveryFrequency
|
|
131
|
-
| undefined;
|
|
132
|
-
product.coverageRegions = element.coverageRegions as
|
|
133
|
-
| V1_DataProductRegion[]
|
|
134
|
-
| undefined;
|
|
135
130
|
product.sampleValues = element.sampleValues?.map((data) =>
|
|
136
131
|
V1_transformEmbeddedData(data, context),
|
|
137
132
|
);
|
|
138
|
-
product.expertise = element.expertise as V1_Expertise[] | undefined;
|
|
139
133
|
if (element.type instanceof InternalDataProductType) {
|
|
140
134
|
product.type = new V1_InternalDataProductType();
|
|
141
135
|
} else if (element.type instanceof ExternalDataProductType) {
|
|
@@ -150,10 +144,26 @@ export const V1_transformDataProduct = (
|
|
|
150
144
|
product.icon = transformDataProductIcon(element.icon);
|
|
151
145
|
}
|
|
152
146
|
|
|
147
|
+
if (!element.operational) {
|
|
148
|
+
product.operational = undefined;
|
|
149
|
+
} else {
|
|
150
|
+
const operational = new V1_DataProductOperationalMetadata();
|
|
151
|
+
operational.updateFrequency = element.operational.updateFrequency as
|
|
152
|
+
| V1_DeliveryFrequency
|
|
153
|
+
| undefined;
|
|
154
|
+
operational.coverageRegions = element.operational.coverageRegions as
|
|
155
|
+
| V1_DataProductRegion[]
|
|
156
|
+
| undefined;
|
|
157
|
+
product.operational = operational;
|
|
158
|
+
}
|
|
159
|
+
|
|
153
160
|
if (!element.supportInfo) {
|
|
154
161
|
product.supportInfo = undefined;
|
|
155
162
|
} else {
|
|
156
163
|
const supportInfo = new V1_SupportInfo();
|
|
164
|
+
supportInfo.expertise = element.supportInfo.expertise as
|
|
165
|
+
| V1_Expertise[]
|
|
166
|
+
| undefined;
|
|
157
167
|
supportInfo.documentation = element.supportInfo.documentation;
|
|
158
168
|
supportInfo.website = element.supportInfo.website;
|
|
159
169
|
supportInfo.faqUrl = element.supportInfo.faqUrl;
|
|
@@ -131,8 +131,6 @@ import {
|
|
|
131
131
|
type V1_DataProduct,
|
|
132
132
|
} from '../../../model/packageableElements/dataProduct/V1_DataProduct.js';
|
|
133
133
|
import {
|
|
134
|
-
type DataProduct_DeliveryFrequency,
|
|
135
|
-
type DataProduct_Region,
|
|
136
134
|
Email,
|
|
137
135
|
ExternalDataProductType,
|
|
138
136
|
InternalDataProductType,
|
|
@@ -144,6 +142,7 @@ import {
|
|
|
144
142
|
V1_buildDataProductExpertise,
|
|
145
143
|
V1_buildDataProductIcon,
|
|
146
144
|
V1_buildDataProductLink,
|
|
145
|
+
V1_buildDataProductOperationalMetadata,
|
|
147
146
|
} from './helpers/V1_DataProductBuilder.js';
|
|
148
147
|
import type { V1_IngestDefinition } from '../../../model/packageableElements/ingest/V1_IngestDefinition.js';
|
|
149
148
|
import { IncludeStore } from '../../../../../../../graph/metamodel/pure/packageableElements/store/relational/model/IncludeStore.js';
|
|
@@ -767,6 +766,10 @@ export class V1_ElementSecondPassBuilder
|
|
|
767
766
|
supportInfo.supportUrl = protocolSupportInfo.supportUrl
|
|
768
767
|
? V1_buildDataProductLink(protocolSupportInfo.supportUrl)
|
|
769
768
|
: undefined;
|
|
769
|
+
supportInfo.expertise =
|
|
770
|
+
protocolSupportInfo.expertise?.map((expertise) =>
|
|
771
|
+
V1_buildDataProductExpertise(expertise),
|
|
772
|
+
) ?? [];
|
|
770
773
|
supportInfo.emails = protocolSupportInfo.emails.map((elementEmail) => {
|
|
771
774
|
const email = new Email(elementEmail.address, elementEmail.title);
|
|
772
775
|
return email;
|
|
@@ -783,17 +786,11 @@ export class V1_ElementSecondPassBuilder
|
|
|
783
786
|
dataProduct.sampleValues = element.sampleValues?.map((data) =>
|
|
784
787
|
V1_buildEmbeddedData(data, this.context),
|
|
785
788
|
);
|
|
786
|
-
if (element.
|
|
787
|
-
dataProduct.
|
|
788
|
-
|
|
789
|
+
if (element.operational) {
|
|
790
|
+
dataProduct.operational = V1_buildDataProductOperationalMetadata(
|
|
791
|
+
element.operational,
|
|
789
792
|
);
|
|
790
793
|
}
|
|
791
|
-
dataProduct.deliveryFrequency = element.deliveryFrequency as
|
|
792
|
-
| DataProduct_DeliveryFrequency
|
|
793
|
-
| undefined;
|
|
794
|
-
dataProduct.coverageRegions = element.coverageRegions as
|
|
795
|
-
| DataProduct_Region[]
|
|
796
|
-
| undefined;
|
|
797
794
|
dataProduct.stereotypes = element.stereotypes
|
|
798
795
|
.map((stereotype) => this.context.resolveStereotype(stereotype))
|
|
799
796
|
.filter(isNonNullable);
|
|
@@ -24,10 +24,13 @@ import {
|
|
|
24
24
|
type DataProductElement,
|
|
25
25
|
type DataProductIcon,
|
|
26
26
|
AccessPointGroup,
|
|
27
|
+
type DataProduct_DeliveryFrequency,
|
|
28
|
+
type DataProduct_Region,
|
|
27
29
|
DataProductElementScope,
|
|
28
30
|
DataProductEmbeddedImageIcon,
|
|
29
31
|
DataProductLibraryIcon,
|
|
30
32
|
DataProductLink,
|
|
33
|
+
DataProductOperationalMetadata,
|
|
31
34
|
DataProductRuntimeInfo,
|
|
32
35
|
Expertise,
|
|
33
36
|
FunctionAccessPoint,
|
|
@@ -49,6 +52,7 @@ import {
|
|
|
49
52
|
V1_ModelAccessPointGroup,
|
|
50
53
|
V1_UnknownAccessPoint,
|
|
51
54
|
V1_UnknownDataProductIcon,
|
|
55
|
+
type V1_DataProductOperationalMetadata,
|
|
52
56
|
} from '../../../../model/packageableElements/dataProduct/V1_DataProduct.js';
|
|
53
57
|
import type { V1_GraphBuilderContext } from '../V1_GraphBuilderContext.js';
|
|
54
58
|
import { V1_buildRawLambdaWithResolvedPaths } from './V1_ValueSpecificationPathResolver.js';
|
|
@@ -134,6 +138,19 @@ export const V1_buildDataProductExpertise = (
|
|
|
134
138
|
return expertise;
|
|
135
139
|
};
|
|
136
140
|
|
|
141
|
+
export const V1_buildDataProductOperationalMetadata = (
|
|
142
|
+
operationalMetadata: V1_DataProductOperationalMetadata,
|
|
143
|
+
): DataProductOperationalMetadata => {
|
|
144
|
+
const metamodelOperationalMetadata = new DataProductOperationalMetadata();
|
|
145
|
+
metamodelOperationalMetadata.updateFrequency =
|
|
146
|
+
operationalMetadata.updateFrequency as
|
|
147
|
+
| DataProduct_DeliveryFrequency
|
|
148
|
+
| undefined;
|
|
149
|
+
metamodelOperationalMetadata.coverageRegions =
|
|
150
|
+
operationalMetadata.coverageRegions as DataProduct_Region[] | undefined;
|
|
151
|
+
return metamodelOperationalMetadata;
|
|
152
|
+
};
|
|
153
|
+
|
|
137
154
|
export const V1_buildAccessPointGroup = (
|
|
138
155
|
elementGroup: V1_AccessPointGroup,
|
|
139
156
|
context: V1_GraphBuilderContext,
|
|
@@ -47,6 +47,7 @@ import {
|
|
|
47
47
|
V1_DataProductTypeValue,
|
|
48
48
|
V1_Expertise,
|
|
49
49
|
V1_FunctionAccessPoint,
|
|
50
|
+
V1_DataProductOperationalMetadata,
|
|
50
51
|
} from '../../../model/packageableElements/dataProduct/V1_DataProduct.js';
|
|
51
52
|
import {
|
|
52
53
|
UnsupportedOperationError,
|
|
@@ -296,14 +297,34 @@ const V1_DataProductLinkModelSchema = createModelSchema(V1_DataProductLink, {
|
|
|
296
297
|
url: primitive(),
|
|
297
298
|
});
|
|
298
299
|
|
|
300
|
+
export const V1_ExpertiseModelSchema = createModelSchema(V1_Expertise, {
|
|
301
|
+
description: optional(primitive()),
|
|
302
|
+
expertIds: list(primitive()),
|
|
303
|
+
});
|
|
304
|
+
|
|
299
305
|
export const V1_SupportInfoModelSchema = createModelSchema(V1_SupportInfo, {
|
|
300
306
|
documentation: optional(usingModelSchema(V1_DataProductLinkModelSchema)),
|
|
301
307
|
emails: customListWithSchema(V1_EmailModelSchema),
|
|
302
308
|
faqUrl: optional(usingModelSchema(V1_DataProductLinkModelSchema)),
|
|
303
309
|
supportUrl: optional(usingModelSchema(V1_DataProductLinkModelSchema)),
|
|
310
|
+
expertise: optionalCustomListWithSchema(V1_ExpertiseModelSchema),
|
|
304
311
|
website: optional(usingModelSchema(V1_DataProductLinkModelSchema)),
|
|
305
312
|
});
|
|
306
313
|
|
|
314
|
+
export const V1_DataProductOperationalMetadataModelSchema = createModelSchema(
|
|
315
|
+
V1_DataProductOperationalMetadata,
|
|
316
|
+
{
|
|
317
|
+
coverageRegions: optionalCustomList(
|
|
318
|
+
(json) => (json as string).toLowerCase(),
|
|
319
|
+
(json) => (json as unknown as string).toUpperCase(),
|
|
320
|
+
),
|
|
321
|
+
updateFrequency: optionalCustom(
|
|
322
|
+
(json) => (json as string).toLowerCase(),
|
|
323
|
+
(json) => (json as string).toUpperCase(),
|
|
324
|
+
),
|
|
325
|
+
},
|
|
326
|
+
);
|
|
327
|
+
|
|
307
328
|
export const V1_InternalDataProductTypeModelSchema = createModelSchema(
|
|
308
329
|
V1_InternalDataProductType,
|
|
309
330
|
{
|
|
@@ -319,11 +340,6 @@ export const V1_ExternalDataProductTypeModelSchema = createModelSchema(
|
|
|
319
340
|
},
|
|
320
341
|
);
|
|
321
342
|
|
|
322
|
-
export const V1_ExpertiseModelSchema = createModelSchema(V1_Expertise, {
|
|
323
|
-
description: optional(primitive()),
|
|
324
|
-
expertIds: list(primitive()),
|
|
325
|
-
});
|
|
326
|
-
|
|
327
343
|
export const V1_deserializeDataProductType = (
|
|
328
344
|
json: Record<string, unknown>,
|
|
329
345
|
): V1_DataProductType => {
|
|
@@ -357,26 +373,19 @@ export const V1_dataProductModelSchema = (
|
|
|
357
373
|
V1_serializeAccessPointGroup,
|
|
358
374
|
V1_deserializeAccessPointGroup,
|
|
359
375
|
),
|
|
360
|
-
coverageRegions: optionalCustomList(
|
|
361
|
-
(json) => (json as string).toLowerCase(),
|
|
362
|
-
(json) => (json as unknown as string).toUpperCase(),
|
|
363
|
-
),
|
|
364
|
-
|
|
365
|
-
deliveryFrequency: optionalCustom(
|
|
366
|
-
(json) => (json as string).toLowerCase(),
|
|
367
|
-
(json) => (json as string).toUpperCase(),
|
|
368
|
-
),
|
|
369
376
|
description: optional(primitive()),
|
|
370
377
|
sampleValues: optionalCustomList(
|
|
371
378
|
(data: V1_EmbeddedData) => V1_serializeEmbeddedDataType(data, plugins),
|
|
372
379
|
(data) => V1_deserializeEmbeddedDataType(data, plugins),
|
|
373
380
|
),
|
|
374
|
-
expertise: optionalCustomListWithSchema(V1_ExpertiseModelSchema),
|
|
375
381
|
icon: optionalCustom(
|
|
376
382
|
V1_serializeDataProductIcon,
|
|
377
383
|
V1_deserializeDataProductIcon,
|
|
378
384
|
),
|
|
379
385
|
name: primitive(),
|
|
386
|
+
operational: optionalCustomUsingModelSchema(
|
|
387
|
+
V1_DataProductOperationalMetadataModelSchema,
|
|
388
|
+
),
|
|
380
389
|
package: primitive(),
|
|
381
390
|
type: optionalCustom(
|
|
382
391
|
V1_serializeDataProductType,
|
|
@@ -605,6 +605,7 @@ export const V1_EntitlementsDataProductDetailsModelSchema = createModelSchema(
|
|
|
605
605
|
V1_EntitlementsLakehouseEnvironmentModelSchema,
|
|
606
606
|
),
|
|
607
607
|
dataProduct: usingModelSchema(V1_EntitlementsDataProductModelSchema),
|
|
608
|
+
fullPath: primitive(),
|
|
608
609
|
},
|
|
609
610
|
);
|
|
610
611
|
|