@finos/legend-graph 32.3.38 → 32.3.39

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 (77) hide show
  1. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_ConsumerEntitlements.d.ts +5 -24
  2. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_ConsumerEntitlements.d.ts.map +1 -1
  3. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_ConsumerEntitlements.js +5 -24
  4. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_ConsumerEntitlements.js.map +1 -1
  5. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_CoreEntitlements.d.ts +50 -9
  6. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_CoreEntitlements.d.ts.map +1 -1
  7. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_CoreEntitlements.js +58 -10
  8. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_CoreEntitlements.js.map +1 -1
  9. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_DataAccessRequest.d.ts +100 -0
  10. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_DataAccessRequest.d.ts.map +1 -0
  11. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_DataAccessRequest.js +108 -0
  12. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_DataAccessRequest.js.map +1 -0
  13. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_EntitlementsDataProduct.d.ts +1 -16
  14. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_EntitlementsDataProduct.d.ts.map +1 -1
  15. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_EntitlementsDataProduct.js +0 -14
  16. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_EntitlementsDataProduct.js.map +1 -1
  17. package/lib/graph-manager/protocol/pure/v1/lakehouse/helpers/V1_ConsumerEntitlementsUtils.d.ts.map +1 -1
  18. package/lib/graph-manager/protocol/pure/v1/lakehouse/helpers/V1_ConsumerEntitlementsUtils.js +2 -1
  19. package/lib/graph-manager/protocol/pure/v1/lakehouse/helpers/V1_ConsumerEntitlementsUtils.js.map +1 -1
  20. package/lib/graph-manager/protocol/pure/v1/lakehouse/subscriptions/V1_ConsumerSubscriptions.d.ts +5 -0
  21. package/lib/graph-manager/protocol/pure/v1/lakehouse/subscriptions/V1_ConsumerSubscriptions.d.ts.map +1 -1
  22. package/lib/graph-manager/protocol/pure/v1/lakehouse/subscriptions/V1_ConsumerSubscriptions.js +4 -0
  23. package/lib/graph-manager/protocol/pure/v1/lakehouse/subscriptions/V1_ConsumerSubscriptions.js.map +1 -1
  24. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_IngestSerializationHelper.js +1 -1
  25. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_IngestSerializationHelper.js.map +1 -1
  26. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_ConsumerEntitlementsSerializationHelper.d.ts +45 -0
  27. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_ConsumerEntitlementsSerializationHelper.d.ts.map +1 -0
  28. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_ConsumerEntitlementsSerializationHelper.js +190 -0
  29. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_ConsumerEntitlementsSerializationHelper.js.map +1 -0
  30. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_CoreEntitlementsSerializationHelper.d.ts +41 -0
  31. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_CoreEntitlementsSerializationHelper.d.ts.map +1 -0
  32. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_CoreEntitlementsSerializationHelper.js +141 -0
  33. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_CoreEntitlementsSerializationHelper.js.map +1 -0
  34. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_DataAccessRequestSerializationHelper.d.ts +34 -0
  35. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_DataAccessRequestSerializationHelper.d.ts.map +1 -0
  36. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_DataAccessRequestSerializationHelper.js +136 -0
  37. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_DataAccessRequestSerializationHelper.js.map +1 -0
  38. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_EntitlementsDataProductSerializationHelper.d.ts +31 -0
  39. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_EntitlementsDataProductSerializationHelper.d.ts.map +1 -0
  40. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_EntitlementsDataProductSerializationHelper.js +98 -0
  41. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_EntitlementsDataProductSerializationHelper.js.map +1 -0
  42. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_EntitlementsTasksSerializationHelper.d.ts +18 -0
  43. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_EntitlementsTasksSerializationHelper.d.ts.map +1 -0
  44. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_EntitlementsTasksSerializationHelper.js +22 -0
  45. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_EntitlementsTasksSerializationHelper.js.map +1 -0
  46. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/{V1_SubscriptionSerializationHelper.d.ts → lakehouse/V1_SubscriptionSerializationHelper.d.ts} +2 -1
  47. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_SubscriptionSerializationHelper.d.ts.map +1 -0
  48. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/{V1_SubscriptionSerializationHelper.js → lakehouse/V1_SubscriptionSerializationHelper.js} +6 -1
  49. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_SubscriptionSerializationHelper.js.map +1 -0
  50. package/lib/index.d.ts +11 -6
  51. package/lib/index.d.ts.map +1 -1
  52. package/lib/index.js +11 -6
  53. package/lib/index.js.map +1 -1
  54. package/lib/package.json +1 -1
  55. package/package.json +1 -1
  56. package/src/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_ConsumerEntitlements.ts +9 -28
  57. package/src/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_CoreEntitlements.ts +76 -11
  58. package/src/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_DataAccessRequest.ts +126 -0
  59. package/src/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_EntitlementsDataProduct.ts +1 -20
  60. package/src/graph-manager/protocol/pure/v1/lakehouse/helpers/V1_ConsumerEntitlementsUtils.ts +4 -2
  61. package/src/graph-manager/protocol/pure/v1/lakehouse/subscriptions/V1_ConsumerSubscriptions.ts +7 -0
  62. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_IngestSerializationHelper.ts +1 -1
  63. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_ConsumerEntitlementsSerializationHelper.ts +394 -0
  64. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_CoreEntitlementsSerializationHelper.ts +238 -0
  65. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_DataAccessRequestSerializationHelper.ts +261 -0
  66. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_EntitlementsDataProductSerializationHelper.ts +179 -0
  67. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_EntitlementsTasksSerializationHelper.ts +26 -0
  68. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/{V1_SubscriptionSerializationHelper.ts → lakehouse/V1_SubscriptionSerializationHelper.ts} +11 -1
  69. package/src/index.ts +11 -95
  70. package/tsconfig.json +7 -2
  71. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_EntitlementSerializationHelper.d.ts +0 -77
  72. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_EntitlementSerializationHelper.d.ts.map +0 -1
  73. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_EntitlementSerializationHelper.js +0 -376
  74. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_EntitlementSerializationHelper.js.map +0 -1
  75. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_SubscriptionSerializationHelper.d.ts.map +0 -1
  76. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_SubscriptionSerializationHelper.js.map +0 -1
  77. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_EntitlementSerializationHelper.ts +0 -701
@@ -0,0 +1,261 @@
1
+ /**
2
+ * Copyright (c) 2026-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import {
18
+ customList,
19
+ customListWithSchema,
20
+ UnsupportedOperationError,
21
+ usingConstantValueSchema,
22
+ usingModelSchema,
23
+ type PlainObject,
24
+ } from '@finos/legend-shared';
25
+ import {
26
+ createModelSchema,
27
+ custom,
28
+ deserialize,
29
+ list,
30
+ optional,
31
+ primitive,
32
+ serialize,
33
+ } from 'serializr';
34
+ import {
35
+ type V1_WorkflowTask,
36
+ type V1_Request,
37
+ V1_CreateDataAccessRequestPayload,
38
+ V1_DataOwnerApprovalTask,
39
+ V1_DataRequest,
40
+ V1_DataRequestsWithWorkflowResponse,
41
+ V1_DataRequestWithWorkflow,
42
+ V1_PrivilegeManagerApprovalTask,
43
+ V1_Workflow,
44
+ } from '../../../../lakehouse/entitlements/V1_DataAccessRequest.js';
45
+ import type { PureProtocolProcessorPlugin } from '../../../../../PureProtocolProcessorPlugin.js';
46
+ import {
47
+ V1_serializeOrganizationalScope,
48
+ V1_deserializeOrganizationalScope,
49
+ V1_contractUserMembershipModelSchema,
50
+ V1_deseralizeConsumerEntitlementResource,
51
+ V1_seralizeConsumerEntitlementResource,
52
+ } from './V1_CoreEntitlementsSerializationHelper.js';
53
+
54
+ // ---------------------------------------- Request Types ----------------------------------------
55
+
56
+ export enum V1_RequestType {
57
+ DataRequest = 'DataRequest',
58
+ }
59
+
60
+ // ---------------------------------------- Workflow Task Types ----------------------------------------
61
+
62
+ export enum V1_WorkflowTaskType {
63
+ PrivilegeManagerApprovalTask = 'PrivilegeManagerApprovalTask',
64
+ DataOwnerApprovalTask = 'DataOwnerApprovalTask',
65
+ }
66
+
67
+ // --------------------------------- Create Data Access Request Payload ---------------------------------
68
+
69
+ export const V1_createDataAccessRequestPayloadModelSchema = (
70
+ plugins: PureProtocolProcessorPlugin[],
71
+ ) =>
72
+ createModelSchema(V1_CreateDataAccessRequestPayload, {
73
+ description: primitive(),
74
+ resourceId: primitive(),
75
+ deploymentId: primitive(),
76
+ accessPointGroup: primitive(),
77
+ consumer: custom(
78
+ (val) => V1_serializeOrganizationalScope(val, plugins),
79
+ (val) => V1_deserializeOrganizationalScope(val, plugins),
80
+ ),
81
+ });
82
+
83
+ // ------------------------------------------ Data Request ---------------------------------------------
84
+
85
+ export const V1_dataRequestModelSchema = (
86
+ plugins: PureProtocolProcessorPlugin[],
87
+ ) =>
88
+ createModelSchema(V1_DataRequest, {
89
+ _type: usingConstantValueSchema(V1_RequestType.DataRequest),
90
+ businessJustification: primitive(),
91
+ guid: primitive(),
92
+ version: primitive(),
93
+ state: primitive(),
94
+ resource: custom(
95
+ V1_seralizeConsumerEntitlementResource,
96
+ V1_deseralizeConsumerEntitlementResource,
97
+ ),
98
+ resourceEnvType: primitive(),
99
+ members: list(usingModelSchema(V1_contractUserMembershipModelSchema)),
100
+ consumer: custom(
101
+ (val) => V1_serializeOrganizationalScope(val, plugins),
102
+ (val) => V1_deserializeOrganizationalScope(val, plugins),
103
+ ),
104
+ createdBy: primitive(),
105
+ userDigest: primitive(),
106
+ });
107
+
108
+ const V1_serializeRequest = (
109
+ request: V1_Request,
110
+ plugins: PureProtocolProcessorPlugin[],
111
+ ): PlainObject<V1_Request> => {
112
+ if (request instanceof V1_DataRequest) {
113
+ return serialize(V1_dataRequestModelSchema(plugins), request);
114
+ }
115
+ throw new UnsupportedOperationError(
116
+ `Can't serialize unsupported request type: ${request.constructor.name}`,
117
+ );
118
+ };
119
+
120
+ const V1_deserializeRequest = (
121
+ json: PlainObject<V1_Request>,
122
+ plugins: PureProtocolProcessorPlugin[],
123
+ ): V1_Request => {
124
+ switch (json._type) {
125
+ case V1_RequestType.DataRequest:
126
+ return deserialize(V1_dataRequestModelSchema(plugins), json);
127
+ default:
128
+ throw new UnsupportedOperationError(
129
+ `Can't deserialize unsupported request type: ${json._type}`,
130
+ );
131
+ }
132
+ };
133
+
134
+ // ----------------------------------------- Workflow Tasks --------------------------------------------
135
+
136
+ const V1_workflowTaskBaseProps = (plugins: PureProtocolProcessorPlugin[]) => ({
137
+ taskId: primitive(),
138
+ workflowGuid: primitive(),
139
+ status: primitive(),
140
+ createdOn: primitive(),
141
+ assignees: list(primitive()),
142
+ actionedOn: optional(primitive()),
143
+ actionedBy: optional(primitive()),
144
+ url: primitive(),
145
+ approveUrl: optional(primitive()),
146
+ denyUrl: optional(primitive()),
147
+ action: optional(primitive()),
148
+ description: optional(primitive()),
149
+ consumer: custom(
150
+ (val) => V1_serializeOrganizationalScope(val, plugins),
151
+ (val) => V1_deserializeOrganizationalScope(val, plugins),
152
+ ),
153
+ });
154
+
155
+ export const V1_privilegeManagerApprovalTaskModelSchema = (
156
+ plugins: PureProtocolProcessorPlugin[],
157
+ ) =>
158
+ createModelSchema(V1_PrivilegeManagerApprovalTask, {
159
+ _type: usingConstantValueSchema(
160
+ V1_WorkflowTaskType.PrivilegeManagerApprovalTask,
161
+ ),
162
+ ...V1_workflowTaskBaseProps(plugins),
163
+ resourceId: primitive(),
164
+ accessPointGroup: primitive(),
165
+ });
166
+
167
+ export const V1_dataOwnerApprovalTaskModelSchema = (
168
+ plugins: PureProtocolProcessorPlugin[],
169
+ ) =>
170
+ createModelSchema(V1_DataOwnerApprovalTask, {
171
+ _type: usingConstantValueSchema(V1_WorkflowTaskType.DataOwnerApprovalTask),
172
+ ...V1_workflowTaskBaseProps(plugins),
173
+ resourceId: primitive(),
174
+ deploymentId: primitive(),
175
+ accessPointGroup: primitive(),
176
+ });
177
+
178
+ const V1_serializeWorkflowTask = (
179
+ task: V1_WorkflowTask,
180
+ plugins: PureProtocolProcessorPlugin[],
181
+ ): PlainObject<V1_WorkflowTask> => {
182
+ if (task instanceof V1_PrivilegeManagerApprovalTask) {
183
+ return serialize(V1_privilegeManagerApprovalTaskModelSchema(plugins), task);
184
+ } else if (task instanceof V1_DataOwnerApprovalTask) {
185
+ return serialize(V1_dataOwnerApprovalTaskModelSchema(plugins), task);
186
+ }
187
+ throw new UnsupportedOperationError(
188
+ `Can't serialize unsupported workflow task type: ${task.constructor.name}`,
189
+ );
190
+ };
191
+
192
+ const V1_deserializeWorkflowTask = (
193
+ json: PlainObject<V1_WorkflowTask>,
194
+ plugins: PureProtocolProcessorPlugin[],
195
+ ): V1_WorkflowTask => {
196
+ switch (json._type) {
197
+ case V1_WorkflowTaskType.PrivilegeManagerApprovalTask:
198
+ return deserialize(
199
+ V1_privilegeManagerApprovalTaskModelSchema(plugins),
200
+ json,
201
+ );
202
+ case V1_WorkflowTaskType.DataOwnerApprovalTask:
203
+ return deserialize(V1_dataOwnerApprovalTaskModelSchema(plugins), json);
204
+ default:
205
+ throw new UnsupportedOperationError(
206
+ `Can't deserialize unsupported workflow task type: ${json._type}`,
207
+ );
208
+ }
209
+ };
210
+
211
+ // -------------------------------------------- Workflow ------------------------------------------------
212
+
213
+ export const V1_workflowModelSchema = (
214
+ plugins: PureProtocolProcessorPlugin[],
215
+ ) =>
216
+ createModelSchema(V1_Workflow, {
217
+ workflowId: primitive(),
218
+ dataRequestId: primitive(),
219
+ status: primitive(),
220
+ tasks: customList(
221
+ (val: V1_WorkflowTask) => V1_serializeWorkflowTask(val, plugins),
222
+ (val: PlainObject<V1_WorkflowTask>) =>
223
+ V1_deserializeWorkflowTask(val, plugins),
224
+ ),
225
+ url: primitive(),
226
+ });
227
+
228
+ // --------------------------------- Data Request With Workflow -----------------------------------------
229
+
230
+ export const V1_dataRequestWithWorkflowModelSchema = (
231
+ plugins: PureProtocolProcessorPlugin[],
232
+ ) =>
233
+ createModelSchema(V1_DataRequestWithWorkflow, {
234
+ dataRequest: custom(
235
+ (val) => V1_serializeRequest(val, plugins),
236
+ (val) => V1_deserializeRequest(val, plugins),
237
+ ),
238
+ workflows: customListWithSchema(V1_workflowModelSchema(plugins)),
239
+ });
240
+
241
+ // ----------------------------- Data Requests With Workflow Response -----------------------------------
242
+
243
+ export const V1_dataRequestsWithWorkflowResponseModelSchema = (
244
+ plugins: PureProtocolProcessorPlugin[],
245
+ ) =>
246
+ createModelSchema(V1_DataRequestsWithWorkflowResponse, {
247
+ dataRequests: customListWithSchema(
248
+ V1_dataRequestWithWorkflowModelSchema(plugins),
249
+ ),
250
+ });
251
+
252
+ export const V1_deserializeDataRequestsWithWorkflowResponse = (
253
+ json: PlainObject<V1_DataRequestsWithWorkflowResponse>,
254
+ plugins: PureProtocolProcessorPlugin[],
255
+ ): V1_DataRequestWithWorkflow[] => {
256
+ const response = deserialize(
257
+ V1_dataRequestsWithWorkflowResponseModelSchema(plugins),
258
+ json,
259
+ );
260
+ return response.dataRequests;
261
+ };
@@ -0,0 +1,179 @@
1
+ /**
2
+ * Copyright (c) 2026-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import {
18
+ customListWithSchema,
19
+ UnsupportedOperationError,
20
+ usingConstantValueSchema,
21
+ usingModelSchema,
22
+ type PlainObject,
23
+ } from '@finos/legend-shared';
24
+ import {
25
+ createModelSchema,
26
+ custom,
27
+ deserialize,
28
+ optional,
29
+ primitive,
30
+ serialize,
31
+ } from 'serializr';
32
+ import {
33
+ type V1_EntitlementsDataProductOrigin,
34
+ V1_AdHocDeploymentDataProductOrigin,
35
+ V1_EntitlementsDataProductDetails,
36
+ V1_EntitlementsDataProductDetailsResponse,
37
+ V1_EntitlementsDataProductLite,
38
+ V1_EntitlementsDataProductLiteResponse,
39
+ V1_EntitlementsLakehouseEnvironment,
40
+ V1_SdlcDeploymentDataProductOrigin,
41
+ V1_UnknownDataProductOriginType,
42
+ } from '../../../../lakehouse/entitlements/V1_EntitlementsDataProduct.js';
43
+ import { V1_EntitlementsDataProductModelSchema } from './V1_CoreEntitlementsSerializationHelper.js';
44
+
45
+ export enum V1_DataProductOriginType {
46
+ AD_HOC_DEPLOYMENT = 'AdHocDeployment',
47
+ SDLC_DEPLOYMENT = 'SdlcDeployment',
48
+ }
49
+
50
+ export const V1_AdHocDeploymentDataProductOriginModelSchema = createModelSchema(
51
+ V1_AdHocDeploymentDataProductOrigin,
52
+ {
53
+ type: usingConstantValueSchema(V1_DataProductOriginType.AD_HOC_DEPLOYMENT),
54
+ definition: primitive(),
55
+ },
56
+ );
57
+
58
+ export const V1_SdlcDeploymentDataProductOriginModelSchema = createModelSchema(
59
+ V1_SdlcDeploymentDataProductOrigin,
60
+ {
61
+ type: usingConstantValueSchema(V1_DataProductOriginType.SDLC_DEPLOYMENT),
62
+ group: primitive(),
63
+ artifact: primitive(),
64
+ version: primitive(),
65
+ },
66
+ );
67
+
68
+ const V1_deserializeDataProductOrigin = (
69
+ json: PlainObject<V1_EntitlementsDataProductOrigin> | null,
70
+ ): V1_EntitlementsDataProductOrigin | null => {
71
+ if (json === null) {
72
+ return null;
73
+ }
74
+ switch (json.type) {
75
+ case V1_DataProductOriginType.AD_HOC_DEPLOYMENT:
76
+ return deserialize(V1_AdHocDeploymentDataProductOriginModelSchema, json);
77
+ case V1_DataProductOriginType.SDLC_DEPLOYMENT:
78
+ return deserialize(V1_SdlcDeploymentDataProductOriginModelSchema, json);
79
+ default: {
80
+ // Fall back to create unknown stub if not supported
81
+ const origin = new V1_UnknownDataProductOriginType();
82
+ origin.content = json;
83
+ return origin;
84
+ }
85
+ }
86
+ };
87
+
88
+ const V1_serializeDataProductOrigin = (
89
+ origin: V1_EntitlementsDataProductOrigin | null,
90
+ ): PlainObject<V1_EntitlementsDataProductOrigin> => {
91
+ if (origin instanceof V1_AdHocDeploymentDataProductOrigin) {
92
+ return serialize(V1_AdHocDeploymentDataProductOriginModelSchema, origin);
93
+ }
94
+ if (origin instanceof V1_SdlcDeploymentDataProductOrigin) {
95
+ return serialize(V1_SdlcDeploymentDataProductOriginModelSchema, origin);
96
+ }
97
+ throw new UnsupportedOperationError(
98
+ `Can't serialize unsupported data product origin type: ${origin?.constructor.name}`,
99
+ );
100
+ };
101
+
102
+ export const V1_EntitlementsLakehouseEnvironmentModelSchema = createModelSchema(
103
+ V1_EntitlementsLakehouseEnvironment,
104
+ {
105
+ producerEnvironmentName: primitive(),
106
+ type: primitive(),
107
+ },
108
+ );
109
+
110
+ export const V1_EntitlementsDataProductDetailsModelSchema = createModelSchema(
111
+ V1_EntitlementsDataProductDetails,
112
+ {
113
+ id: primitive(),
114
+ deploymentId: primitive(),
115
+ title: optional(primitive()),
116
+ description: optional(primitive()),
117
+ origin: custom(
118
+ V1_serializeDataProductOrigin,
119
+ V1_deserializeDataProductOrigin,
120
+ ),
121
+ lakehouseEnvironment: usingModelSchema(
122
+ V1_EntitlementsLakehouseEnvironmentModelSchema,
123
+ ),
124
+ dataProduct: usingModelSchema(V1_EntitlementsDataProductModelSchema),
125
+ fullPath: primitive(),
126
+ },
127
+ );
128
+
129
+ export const V1_EntitlementsDataProductLiteModelSchema = createModelSchema(
130
+ V1_EntitlementsDataProductLite,
131
+ {
132
+ id: primitive(),
133
+ deploymentId: primitive(),
134
+ title: optional(primitive()),
135
+ description: optional(primitive()),
136
+ origin: custom(
137
+ V1_serializeDataProductOrigin,
138
+ V1_deserializeDataProductOrigin,
139
+ ),
140
+ fullPath: optional(primitive()),
141
+ lakehouseEnvironment: usingModelSchema(
142
+ V1_EntitlementsLakehouseEnvironmentModelSchema,
143
+ ),
144
+ },
145
+ );
146
+
147
+ export const V1_EntitlementsDataProductDetailsResponseModelSchema =
148
+ createModelSchema(V1_EntitlementsDataProductDetailsResponse, {
149
+ dataProducts: customListWithSchema(
150
+ V1_EntitlementsDataProductDetailsModelSchema,
151
+ ),
152
+ });
153
+
154
+ export const V1_EntitlementsDataProductLiteResponseModelSchema =
155
+ createModelSchema(V1_EntitlementsDataProductLiteResponse, {
156
+ dataProducts: customListWithSchema(
157
+ V1_EntitlementsDataProductLiteModelSchema,
158
+ ),
159
+ });
160
+
161
+ export const V1_entitlementsDataProductDetailsResponseToDataProductDetails = (
162
+ json: PlainObject<V1_EntitlementsDataProductDetailsResponse>,
163
+ ): V1_EntitlementsDataProductDetails[] => {
164
+ const response = deserialize(
165
+ V1_EntitlementsDataProductDetailsResponseModelSchema,
166
+ json,
167
+ );
168
+ return response.dataProducts ?? [];
169
+ };
170
+
171
+ export const V1_entitlementsDataProductLiteResponseToDataProductLite = (
172
+ json: PlainObject<V1_EntitlementsDataProductLiteResponse>,
173
+ ): V1_EntitlementsDataProductLite[] => {
174
+ const response = deserialize(
175
+ V1_EntitlementsDataProductLiteResponseModelSchema,
176
+ json,
177
+ );
178
+ return response.dataProducts ?? [];
179
+ };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright (c) 2026-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { createModelSchema, list, primitive } from 'serializr';
18
+ import { V1_PendingTaskWithAssignees } from '../../../../lakehouse/entitlements/V1_EntitlementsTasks.js';
19
+
20
+ export const V1_pendingTaskWithAssigneesModelSchema = createModelSchema(
21
+ V1_PendingTaskWithAssignees,
22
+ {
23
+ taskId: primitive(),
24
+ assignees: list(primitive()),
25
+ },
26
+ );
@@ -32,9 +32,11 @@ import {
32
32
  V1_CreateSubscriptionInput,
33
33
  V1_DataSubscription,
34
34
  V1_DataSubscriptionResponse,
35
+ V1_DataSubscriptionsPaginatedResponse,
35
36
  V1_DataSubscriptionTargetType,
36
37
  V1_SnowflakeTarget,
37
- } from '../../../lakehouse/subscriptions/V1_ConsumerSubscriptions.js';
38
+ } from '../../../../lakehouse/subscriptions/V1_ConsumerSubscriptions.js';
39
+ import { V1_paginationMetadataRecordModelSchema } from './V1_CoreEntitlementsSerializationHelper.js';
38
40
 
39
41
  export const V1_SnowflakeTargetModelSchema = createModelSchema(
40
42
  V1_SnowflakeTarget,
@@ -86,6 +88,14 @@ export const V1_DataSubscriptionResponseModelSchema = createModelSchema(
86
88
  },
87
89
  );
88
90
 
91
+ export const V1_dataSubscriptionsPaginatedResponseModelSchema =
92
+ createModelSchema(V1_DataSubscriptionsPaginatedResponse, {
93
+ dataContractSubscriptions: usingModelSchema(V1_dataSubscriptionModelSchema),
94
+ paginationMetadataRecord: usingModelSchema(
95
+ V1_paginationMetadataRecordModelSchema,
96
+ ),
97
+ });
98
+
89
99
  export const V1_CreateSubscriptionInputModelSchema = createModelSchema(
90
100
  V1_CreateSubscriptionInput,
91
101
  {
package/src/index.ts CHANGED
@@ -294,108 +294,29 @@ export {
294
294
  V1_SQLAccessor,
295
295
  } from './graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/relation/V1_RelationStoreAccessor.js';
296
296
  export { V1_PackageableConnection } from './graph-manager/protocol/pure/v1/model/packageableElements/connection/V1_PackageableConnection.js';
297
- export {
298
- type V1_UserPendingContractsRecord,
299
- type V1_UserPendingContractsResponse,
300
- V1_AccessPointGroupReference,
301
- V1_ApprovalType,
302
- V1_ContractEventPayloadType,
303
- V1_ContractState,
304
- V1_ContractUserEventDataProducerPayload,
305
- V1_ContractUserEventPayload,
306
- V1_ContractUserEventPrivilegeManagerPayload,
307
- V1_ContractUserEventRecord,
308
- V1_ContractUserMembership,
309
- V1_ContractUserStatusResponse,
310
- V1_CreateContractPayload,
311
- V1_DataContract,
312
- V1_DataContractApprovedUsersResponse,
313
- V1_DataContractsResponse,
314
- V1_DataContractSubscriptions,
315
- V1_EnrichedUserApprovalStatus,
316
- V1_InvalidateDataContractResponse,
317
- V1_LiteDataContract,
318
- V1_LiteDataContractsResponse,
319
- V1_LiteDataContractWithUserStatus,
320
- V1_PendingTasksResponse,
321
- V1_ResourceType,
322
- V1_TaskMetadata,
323
- V1_TaskResponse,
324
- V1_TaskStatus,
325
- V1_TaskStatusChangeResponse,
326
- V1_TerminalOrderItem,
327
- V1_TerminalProvisionPayload,
328
- V1_UserApprovalStatus,
329
- } from './graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_ConsumerEntitlements.js';
297
+ export * from './graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_ConsumerEntitlements.js';
298
+ export * from './graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_DataAccessRequest.js';
330
299
  export {
331
300
  V1_getEntitlementsEnvFromIngestEnv,
332
301
  V1_isIngestEnvsCompatibleWithEntitlements,
333
302
  } from './graph-manager/protocol/pure/v1/lakehouse/helpers/V1_CoreLakehouseHelper.js';
334
- export {
335
- V1_AdhocTeam,
336
- V1_AppDirLevel,
337
- V1_AppDirNode,
338
- V1_AppDirOrganizationalScope,
339
- V1_OrganizationalScope,
340
- V1_ProducerScope,
341
- V1_UnknownOrganizationalScopeType,
342
- V1_User,
343
- V1_UserType,
344
- } from './graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_CoreEntitlements.js';
303
+ export * from './graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_CoreEntitlements.js';
345
304
  export type {
346
305
  V1_UserEntitlementEnvsResponse as V1_EntitlementsUserEnvResponse,
347
306
  V1_UserEntitlementEnv as V1_EntitlementsUserEnv,
348
307
  } from './graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_EntitlementsEnv.js';
349
- export {
350
- V1_AccessPointGroupStereotypeMapping,
351
- V1_AdHocDeploymentDataProductOrigin,
352
- V1_EntitlementsAccessPoint,
353
- V1_EntitlementsDataProduct,
354
- V1_EntitlementsDataProductDetails,
355
- V1_EntitlementsDataProductDetailsResponse,
356
- V1_EntitlementsDataProductLite,
357
- V1_EntitlementsDataProductLiteResponse,
358
- V1_EntitlementsDataProductOrigin,
359
- V1_EntitlementsLakehouseEnvironment,
360
- V1_EntitlementsLakehouseEnvironmentType,
361
- V1_SdlcDeploymentDataProductOrigin,
362
- V1_UnknownDataProductOriginType,
363
- } from './graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_EntitlementsDataProduct.js';
364
- export {
365
- V1_AccessPointGroupReferenceType,
366
- V1_AccessPointGroupStereotypeMappingModelSchema,
367
- V1_AdHocDeploymentDataProductOriginModelSchema,
368
- V1_AdhocTeamModelSchema,
369
- V1_AppDirNodeModelSchema,
370
- V1_ContractUserStatusResponseModelSchema,
371
- V1_createContractPayloadModelSchema,
372
- V1_DataContractApprovedUsersResponseModelSchema,
373
- V1_dataContractModelSchema,
374
- V1_dataContractsResponseModelSchema,
375
- V1_DataProductOriginType,
376
- V1_deserializeDataContractResponse,
377
- V1_deserializeTaskResponse,
378
- V1_EntitlementsAccessPointModelSchema,
379
- V1_EntitlementsDataProductDetailsModelSchema,
380
- V1_EntitlementsDataProductDetailsResponseModelSchema,
381
- V1_entitlementsDataProductDetailsResponseToDataProductDetails,
382
- V1_EntitlementsDataProductLiteModelSchema,
383
- V1_EntitlementsDataProductModelSchema,
384
- V1_EntitlementsLakehouseEnvironmentModelSchema,
385
- V1_liteDataContractModelSchema,
386
- V1_liteDataContractsResponseModelSchemaToContracts,
387
- V1_liteDataContractWithUserStatusModelSchema,
388
- V1_OrganizationalScopeType,
389
- V1_pendingTasksResponseModelSchema,
390
- V1_SdlcDeploymentDataProductOriginModelSchema,
391
- V1_taskResponseModelSchema,
392
- V1_TaskStatusChangeResponseModelSchema,
393
- V1_terminalProvisionPayloadModelSchema,
394
- } from './graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_EntitlementSerializationHelper.js';
308
+ export * from './graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_EntitlementsDataProduct.js';
309
+ export * from './graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_CoreEntitlementsSerializationHelper.js';
310
+ export * from './graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_EntitlementsDataProductSerializationHelper.js';
311
+ export * from './graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_EntitlementsTasksSerializationHelper.js';
312
+ export * from './graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_ConsumerEntitlementsSerializationHelper.js';
313
+ export * from './graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_DataAccessRequestSerializationHelper.js';
314
+ export * from './graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_SubscriptionSerializationHelper.js';
395
315
  export {
396
316
  V1_CreateSubscriptionInput,
397
317
  V1_DataSubscription,
398
318
  V1_DataSubscriptionResponse,
319
+ V1_DataSubscriptionsPaginatedResponse,
399
320
  V1_DataSubscriptionTarget,
400
321
  V1_DataSubscriptionTargetType,
401
322
  V1_SnowflakeNetwork,
@@ -442,11 +363,6 @@ export {
442
363
  V1_observe_LiteDataContract,
443
364
  } from './graph-manager/protocol/pure/v1/lakehouse/helpers/V1_ConsumerEntitlementsObserver.js';
444
365
  export { V1_transformDataContractToLiteDatacontract } from './graph-manager/protocol/pure/v1/lakehouse/helpers/V1_ConsumerEntitlementsUtils.js';
445
- export {
446
- V1_CreateSubscriptionInputModelSchema,
447
- V1_dataSubscriptionModelSchema,
448
- V1_DataSubscriptionResponseModelSchema,
449
- } from './graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_SubscriptionSerializationHelper.js';
450
366
  export {
451
367
  V1_deserializeIngestEnvironment,
452
368
  V1_deserializeProducerEnvironment,
package/tsconfig.json CHANGED
@@ -516,6 +516,7 @@
516
516
  "./src/graph-manager/protocol/pure/v1/lakehouse/deploy/V1_DataProductArtifact.ts",
517
517
  "./src/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_ConsumerEntitlements.ts",
518
518
  "./src/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_CoreEntitlements.ts",
519
+ "./src/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_DataAccessRequest.ts",
519
520
  "./src/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_EntitlementsDataProduct.ts",
520
521
  "./src/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_EntitlementsEnv.ts",
521
522
  "./src/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_EntitlementsTasks.ts",
@@ -887,7 +888,6 @@
887
888
  "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataProductSerializationHelper.ts",
888
889
  "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.ts",
889
890
  "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DomainSerializationHelper.ts",
890
- "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_EntitlementSerializationHelper.ts",
891
891
  "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.ts",
892
892
  "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_FileGenerationSerializationHelper.ts",
893
893
  "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_FunctionActivatorSerializationHelper.ts",
@@ -903,12 +903,17 @@
903
903
  "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_SectionIndexSerializationHelper.ts",
904
904
  "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.ts",
905
905
  "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_StoreSerializationHelper.ts",
906
- "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_SubscriptionSerializationHelper.ts",
907
906
  "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TerminalSerializationHelper.ts",
908
907
  "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.ts",
909
908
  "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TypeSerializationHelper.ts",
910
909
  "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.ts",
911
910
  "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.ts",
911
+ "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_ConsumerEntitlementsSerializationHelper.ts",
912
+ "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_CoreEntitlementsSerializationHelper.ts",
913
+ "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_DataAccessRequestSerializationHelper.ts",
914
+ "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_EntitlementsDataProductSerializationHelper.ts",
915
+ "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_EntitlementsTasksSerializationHelper.ts",
916
+ "./src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/lakehouse/V1_SubscriptionSerializationHelper.ts",
912
917
  "./src/graph-manager/protocol/pure/v1/V1_Core_SystemModels.json"
913
918
  ],
914
919
  "include": [