@cirrobio/api-client 0.2.1 → 0.2.3

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.
@@ -14,6 +14,7 @@
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.ShareToJSON = exports.ShareFromJSONTyped = exports.ShareFromJSON = exports.instanceOfShare = void 0;
17
+ var DatasetCondition_1 = require("./DatasetCondition");
17
18
  var ShareType_1 = require("./ShareType");
18
19
  /**
19
20
  * Check if a given object implements the Share interface.
@@ -25,6 +26,7 @@ function instanceOfShare(value) {
25
26
  isInstance = isInstance && "description" in value;
26
27
  isInstance = isInstance && "originatingProjectId" in value;
27
28
  isInstance = isInstance && "shareType" in value;
29
+ isInstance = isInstance && "conditions" in value;
28
30
  isInstance = isInstance && "classificationIds" in value;
29
31
  isInstance = isInstance && "keywords" in value;
30
32
  isInstance = isInstance && "createdBy" in value;
@@ -47,6 +49,7 @@ function ShareFromJSONTyped(json, ignoreDiscriminator) {
47
49
  'description': json['description'],
48
50
  'originatingProjectId': json['originatingProjectId'],
49
51
  'shareType': (0, ShareType_1.ShareTypeFromJSON)(json['shareType']),
52
+ 'conditions': (json['conditions'].map(DatasetCondition_1.DatasetConditionFromJSON)),
50
53
  'classificationIds': json['classificationIds'],
51
54
  'keywords': json['keywords'],
52
55
  'createdBy': json['createdBy'],
@@ -68,6 +71,7 @@ function ShareToJSON(value) {
68
71
  'description': value.description,
69
72
  'originatingProjectId': value.originatingProjectId,
70
73
  'shareType': (0, ShareType_1.ShareTypeToJSON)(value.shareType),
74
+ 'conditions': (value.conditions.map(DatasetCondition_1.DatasetConditionToJSON)),
71
75
  'classificationIds': value.classificationIds,
72
76
  'keywords': value.keywords,
73
77
  'createdBy': value.createdBy,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cirrobio/api-client",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "API client for Cirro",
5
5
  "author": "CirroBio",
6
6
  "repository": {
@@ -337,7 +337,7 @@ export class DatasetsApi extends runtime.BaseAPI {
337
337
  }
338
338
 
339
339
  /**
340
- * Rerun sample ingest (TODO).
340
+ * Rerun sample ingest.
341
341
  * Rerun sample ingest
342
342
  */
343
343
  async ingestSamplesRaw(requestParameters: IngestSamplesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
@@ -372,7 +372,7 @@ export class DatasetsApi extends runtime.BaseAPI {
372
372
  }
373
373
 
374
374
  /**
375
- * Rerun sample ingest (TODO).
375
+ * Rerun sample ingest.
376
376
  * Rerun sample ingest
377
377
  */
378
378
  async ingestSamples(requestParameters: IngestSamplesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
@@ -380,7 +380,7 @@ export class DatasetsApi extends runtime.BaseAPI {
380
380
  }
381
381
 
382
382
  /**
383
- * Regenerate dataset manifest (TODO).
383
+ * Regenerate dataset file listing.
384
384
  * Regenerate dataset manifest
385
385
  */
386
386
  async regenerateManifestRaw(requestParameters: RegenerateManifestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
@@ -415,7 +415,7 @@ export class DatasetsApi extends runtime.BaseAPI {
415
415
  }
416
416
 
417
417
  /**
418
- * Regenerate dataset manifest (TODO).
418
+ * Regenerate dataset file listing.
419
419
  * Regenerate dataset manifest
420
420
  */
421
421
  async regenerateManifest(requestParameters: RegenerateManifestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
@@ -423,7 +423,7 @@ export class DatasetsApi extends runtime.BaseAPI {
423
423
  }
424
424
 
425
425
  /**
426
- * Rerun data transforms (TODO).
426
+ * Rerun data transforms and web optimization.
427
427
  * Rerun data transforms
428
428
  */
429
429
  async rerunTransformRaw(requestParameters: RerunTransformRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
@@ -458,7 +458,7 @@ export class DatasetsApi extends runtime.BaseAPI {
458
458
  }
459
459
 
460
460
  /**
461
- * Rerun data transforms (TODO).
461
+ * Rerun data transforms and web optimization.
462
462
  * Rerun data transforms
463
463
  */
464
464
  async rerunTransform(requestParameters: RerunTransformRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
@@ -69,6 +69,11 @@ export interface SubscribeShareRequest {
69
69
  shareId: string;
70
70
  }
71
71
 
72
+ export interface UnsubscribeShareRequest {
73
+ projectId: string;
74
+ shareId: string;
75
+ }
76
+
72
77
  export interface UpdateShareRequest {
73
78
  projectId: string;
74
79
  shareId: string;
@@ -389,6 +394,49 @@ export class SharingApi extends runtime.BaseAPI {
389
394
  await this.subscribeShareRaw(requestParameters, initOverrides);
390
395
  }
391
396
 
397
+ /**
398
+ * Unsubscribe from a share that has been shared with your project
399
+ * Unsubscribe from share
400
+ */
401
+ async unsubscribeShareRaw(requestParameters: UnsubscribeShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
402
+ if (requestParameters.projectId === null || requestParameters.projectId === undefined) {
403
+ throw new runtime.RequiredError('projectId','Required parameter requestParameters.projectId was null or undefined when calling unsubscribeShare.');
404
+ }
405
+
406
+ if (requestParameters.shareId === null || requestParameters.shareId === undefined) {
407
+ throw new runtime.RequiredError('shareId','Required parameter requestParameters.shareId was null or undefined when calling unsubscribeShare.');
408
+ }
409
+
410
+ const queryParameters: any = {};
411
+
412
+ const headerParameters: runtime.HTTPHeaders = {};
413
+
414
+ if (this.configuration && this.configuration.accessToken) {
415
+ const token = this.configuration.accessToken;
416
+ const tokenString = await token("accessToken", []);
417
+
418
+ if (tokenString) {
419
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
420
+ }
421
+ }
422
+ const response = await this.request({
423
+ path: `/projects/{projectId}/shares/{shareId}:unsubscribe`.replace(`{${"projectId"}}`, encodeURIComponent(String(requestParameters.projectId))).replace(`{${"shareId"}}`, encodeURIComponent(String(requestParameters.shareId))),
424
+ method: 'PUT',
425
+ headers: headerParameters,
426
+ query: queryParameters,
427
+ }, initOverrides);
428
+
429
+ return new runtime.VoidApiResponse(response);
430
+ }
431
+
432
+ /**
433
+ * Unsubscribe from a share that has been shared with your project
434
+ * Unsubscribe from share
435
+ */
436
+ async unsubscribeShare(requestParameters: UnsubscribeShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
437
+ await this.unsubscribeShareRaw(requestParameters, initOverrides);
438
+ }
439
+
392
440
  /**
393
441
  * Update a share that you\'ve published
394
442
  * Update share
@@ -43,6 +43,12 @@ export interface CreateNotebookInstanceRequest {
43
43
  * @memberof CreateNotebookInstanceRequest
44
44
  */
45
45
  volumeSizeGB: number;
46
+ /**
47
+ * Whether the notebook is shared with the project
48
+ * @type {boolean}
49
+ * @memberof CreateNotebookInstanceRequest
50
+ */
51
+ isSharedWithProject?: boolean;
46
52
  }
47
53
 
48
54
  /**
@@ -72,6 +78,7 @@ export function CreateNotebookInstanceRequestFromJSONTyped(json: any, ignoreDisc
72
78
  'instanceType': json['instanceType'],
73
79
  'acceleratorTypes': json['acceleratorTypes'],
74
80
  'volumeSizeGB': json['volumeSizeGB'],
81
+ 'isSharedWithProject': !exists(json, 'isSharedWithProject') ? undefined : json['isSharedWithProject'],
75
82
  };
76
83
  }
77
84
 
@@ -88,6 +95,7 @@ export function CreateNotebookInstanceRequestToJSON(value?: CreateNotebookInstan
88
95
  'instanceType': value.instanceType,
89
96
  'acceleratorTypes': value.acceleratorTypes,
90
97
  'volumeSizeGB': value.volumeSizeGB,
98
+ 'isSharedWithProject': value.isSharedWithProject,
91
99
  };
92
100
  }
93
101
 
@@ -13,6 +13,12 @@
13
13
  */
14
14
 
15
15
  import { exists, mapValues } from '../runtime';
16
+ import type { NamedItem } from './NamedItem';
17
+ import {
18
+ NamedItemFromJSON,
19
+ NamedItemFromJSONTyped,
20
+ NamedItemToJSON,
21
+ } from './NamedItem';
16
22
  import type { Status } from './Status';
17
23
  import {
18
24
  StatusFromJSON,
@@ -74,6 +80,12 @@ export interface DatasetDetail {
74
80
  * @memberof DatasetDetail
75
81
  */
76
82
  sourceDatasetIds: Array<string>;
83
+ /**
84
+ *
85
+ * @type {Array<NamedItem>}
86
+ * @memberof DatasetDetail
87
+ */
88
+ sourceDatasets: Array<NamedItem>;
77
89
  /**
78
90
  *
79
91
  * @type {Status}
@@ -104,6 +116,12 @@ export interface DatasetDetail {
104
116
  * @memberof DatasetDetail
105
117
  */
106
118
  info: { [key: string]: any; };
119
+ /**
120
+ *
121
+ * @type {NamedItem}
122
+ * @memberof DatasetDetail
123
+ */
124
+ share?: NamedItem | null;
107
125
  /**
108
126
  *
109
127
  * @type {string}
@@ -136,6 +154,7 @@ export function instanceOfDatasetDetail(value: object): boolean {
136
154
  isInstance = isInstance && "processId" in value;
137
155
  isInstance = isInstance && "projectId" in value;
138
156
  isInstance = isInstance && "sourceDatasetIds" in value;
157
+ isInstance = isInstance && "sourceDatasets" in value;
139
158
  isInstance = isInstance && "status" in value;
140
159
  isInstance = isInstance && "statusMessage" in value;
141
160
  isInstance = isInstance && "tags" in value;
@@ -165,11 +184,13 @@ export function DatasetDetailFromJSONTyped(json: any, ignoreDiscriminator: boole
165
184
  'processId': json['processId'],
166
185
  'projectId': json['projectId'],
167
186
  'sourceDatasetIds': json['sourceDatasetIds'],
187
+ 'sourceDatasets': ((json['sourceDatasets'] as Array<any>).map(NamedItemFromJSON)),
168
188
  'status': StatusFromJSON(json['status']),
169
189
  'statusMessage': json['statusMessage'],
170
190
  'tags': ((json['tags'] as Array<any>).map(TagFromJSON)),
171
191
  'params': json['params'],
172
192
  'info': json['info'],
193
+ 'share': !exists(json, 'share') ? undefined : NamedItemFromJSON(json['share']),
173
194
  'createdBy': json['createdBy'],
174
195
  'createdAt': (new Date(json['createdAt'])),
175
196
  'updatedAt': (new Date(json['updatedAt'])),
@@ -192,11 +213,13 @@ export function DatasetDetailToJSON(value?: DatasetDetail | null): any {
192
213
  'processId': value.processId,
193
214
  'projectId': value.projectId,
194
215
  'sourceDatasetIds': value.sourceDatasetIds,
216
+ 'sourceDatasets': ((value.sourceDatasets as Array<any>).map(NamedItemToJSON)),
195
217
  'status': StatusToJSON(value.status),
196
218
  'statusMessage': value.statusMessage,
197
219
  'tags': ((value.tags as Array<any>).map(TagToJSON)),
198
220
  'params': value.params,
199
221
  'info': value.info,
222
+ 'share': NamedItemToJSON(value.share),
200
223
  'createdBy': value.createdBy,
201
224
  'createdAt': (value.createdAt.toISOString()),
202
225
  'updatedAt': (value.updatedAt.toISOString()),
@@ -55,6 +55,24 @@ export interface GovernanceContact {
55
55
  * @memberof GovernanceContact
56
56
  */
57
57
  email: string;
58
+ /**
59
+ *
60
+ * @type {string}
61
+ * @memberof GovernanceContact
62
+ */
63
+ createdBy: string;
64
+ /**
65
+ *
66
+ * @type {Date}
67
+ * @memberof GovernanceContact
68
+ */
69
+ createdAt: Date;
70
+ /**
71
+ *
72
+ * @type {Date}
73
+ * @memberof GovernanceContact
74
+ */
75
+ updatedAt: Date;
58
76
  }
59
77
 
60
78
  /**
@@ -68,6 +86,9 @@ export function instanceOfGovernanceContact(value: object): boolean {
68
86
  isInstance = isInstance && "name" in value;
69
87
  isInstance = isInstance && "phone" in value;
70
88
  isInstance = isInstance && "email" in value;
89
+ isInstance = isInstance && "createdBy" in value;
90
+ isInstance = isInstance && "createdAt" in value;
91
+ isInstance = isInstance && "updatedAt" in value;
71
92
 
72
93
  return isInstance;
73
94
  }
@@ -88,6 +109,9 @@ export function GovernanceContactFromJSONTyped(json: any, ignoreDiscriminator: b
88
109
  'name': json['name'],
89
110
  'phone': json['phone'],
90
111
  'email': json['email'],
112
+ 'createdBy': json['createdBy'],
113
+ 'createdAt': (new Date(json['createdAt'])),
114
+ 'updatedAt': (new Date(json['updatedAt'])),
91
115
  };
92
116
  }
93
117
 
@@ -106,6 +130,9 @@ export function GovernanceContactToJSON(value?: GovernanceContact | null): any {
106
130
  'name': value.name,
107
131
  'phone': value.phone,
108
132
  'email': value.email,
133
+ 'createdBy': value.createdBy,
134
+ 'createdAt': (value.createdAt.toISOString()),
135
+ 'updatedAt': (value.updatedAt.toISOString()),
109
136
  };
110
137
  }
111
138
 
@@ -61,49 +61,55 @@ export interface GovernanceRequirement {
61
61
  * @type {string}
62
62
  * @memberof GovernanceRequirement
63
63
  */
64
- name?: string;
64
+ name: string;
65
65
  /**
66
66
  * A brief description of the requirement
67
67
  * @type {string}
68
68
  * @memberof GovernanceRequirement
69
69
  */
70
- description?: string;
70
+ description: string;
71
71
  /**
72
72
  *
73
73
  * @type {GovernanceType}
74
74
  * @memberof GovernanceRequirement
75
75
  */
76
- type?: GovernanceType;
76
+ type: GovernanceType;
77
77
  /**
78
- * The full S3 path where files for the requirement are saved
78
+ * S3 prefix where files for the requirement are saved
79
79
  * @type {string}
80
80
  * @memberof GovernanceRequirement
81
81
  */
82
- path?: string;
82
+ path: string;
83
83
  /**
84
84
  *
85
85
  * @type {GovernanceScope}
86
86
  * @memberof GovernanceRequirement
87
87
  */
88
- scope?: GovernanceScope;
88
+ scope: GovernanceScope;
89
89
  /**
90
90
  *
91
91
  * @type {GovernanceScope}
92
92
  * @memberof GovernanceRequirement
93
93
  */
94
- acceptance?: GovernanceScope;
94
+ acceptance?: GovernanceScope | null;
95
95
  /**
96
- * The IDs of governance contacts assigned to the requirement.
96
+ * The IDs of governance contacts assigned to the requirement.
97
97
  * @type {Array<string>}
98
98
  * @memberof GovernanceRequirement
99
99
  */
100
- contactIds?: Array<string> | null;
100
+ contactIds: Array<string>;
101
101
  /**
102
102
  *
103
103
  * @type {GovernanceExpiry}
104
104
  * @memberof GovernanceRequirement
105
105
  */
106
106
  expiration: GovernanceExpiry;
107
+ /**
108
+ * The date of enactment for a requirement
109
+ * @type {Date}
110
+ * @memberof GovernanceRequirement
111
+ */
112
+ enactmentDate?: Date | null;
107
113
  /**
108
114
  * Optional files with extra information, e.g. templates for documents, links, etc
109
115
  * @type {Array<GovernanceFile>}
@@ -128,6 +134,24 @@ export interface GovernanceRequirement {
128
134
  * @memberof GovernanceRequirement
129
135
  */
130
136
  verification?: GovernanceTrainingVerification | null;
137
+ /**
138
+ *
139
+ * @type {string}
140
+ * @memberof GovernanceRequirement
141
+ */
142
+ createdBy: string;
143
+ /**
144
+ *
145
+ * @type {Date}
146
+ * @memberof GovernanceRequirement
147
+ */
148
+ createdAt: Date;
149
+ /**
150
+ *
151
+ * @type {Date}
152
+ * @memberof GovernanceRequirement
153
+ */
154
+ updatedAt: Date;
131
155
  }
132
156
 
133
157
  /**
@@ -136,7 +160,16 @@ export interface GovernanceRequirement {
136
160
  export function instanceOfGovernanceRequirement(value: object): boolean {
137
161
  let isInstance = true;
138
162
  isInstance = isInstance && "id" in value;
163
+ isInstance = isInstance && "name" in value;
164
+ isInstance = isInstance && "description" in value;
165
+ isInstance = isInstance && "type" in value;
166
+ isInstance = isInstance && "path" in value;
167
+ isInstance = isInstance && "scope" in value;
168
+ isInstance = isInstance && "contactIds" in value;
139
169
  isInstance = isInstance && "expiration" in value;
170
+ isInstance = isInstance && "createdBy" in value;
171
+ isInstance = isInstance && "createdAt" in value;
172
+ isInstance = isInstance && "updatedAt" in value;
140
173
 
141
174
  return isInstance;
142
175
  }
@@ -152,18 +185,22 @@ export function GovernanceRequirementFromJSONTyped(json: any, ignoreDiscriminato
152
185
  return {
153
186
 
154
187
  'id': json['id'],
155
- 'name': !exists(json, 'name') ? undefined : json['name'],
156
- 'description': !exists(json, 'description') ? undefined : json['description'],
157
- 'type': !exists(json, 'type') ? undefined : GovernanceTypeFromJSON(json['type']),
158
- 'path': !exists(json, 'path') ? undefined : json['path'],
159
- 'scope': !exists(json, 'scope') ? undefined : GovernanceScopeFromJSON(json['scope']),
188
+ 'name': json['name'],
189
+ 'description': json['description'],
190
+ 'type': GovernanceTypeFromJSON(json['type']),
191
+ 'path': json['path'],
192
+ 'scope': GovernanceScopeFromJSON(json['scope']),
160
193
  'acceptance': !exists(json, 'acceptance') ? undefined : GovernanceScopeFromJSON(json['acceptance']),
161
- 'contactIds': !exists(json, 'contactIds') ? undefined : json['contactIds'],
194
+ 'contactIds': json['contactIds'],
162
195
  'expiration': GovernanceExpiryFromJSON(json['expiration']),
196
+ 'enactmentDate': !exists(json, 'enactmentDate') ? undefined : (json['enactmentDate'] === null ? null : new Date(json['enactmentDate'])),
163
197
  'supplementalDocs': !exists(json, 'supplementalDocs') ? undefined : (json['supplementalDocs'] === null ? null : (json['supplementalDocs'] as Array<any>).map(GovernanceFileFromJSON)),
164
198
  'file': !exists(json, 'file') ? undefined : GovernanceFileFromJSON(json['file']),
165
199
  'authorship': !exists(json, 'authorship') ? undefined : GovernanceScopeFromJSON(json['authorship']),
166
200
  'verification': !exists(json, 'verification') ? undefined : GovernanceTrainingVerificationFromJSON(json['verification']),
201
+ 'createdBy': json['createdBy'],
202
+ 'createdAt': (new Date(json['createdAt'])),
203
+ 'updatedAt': (new Date(json['updatedAt'])),
167
204
  };
168
205
  }
169
206
 
@@ -185,10 +222,14 @@ export function GovernanceRequirementToJSON(value?: GovernanceRequirement | null
185
222
  'acceptance': GovernanceScopeToJSON(value.acceptance),
186
223
  'contactIds': value.contactIds,
187
224
  'expiration': GovernanceExpiryToJSON(value.expiration),
225
+ 'enactmentDate': value.enactmentDate === undefined ? undefined : (value.enactmentDate === null ? null : value.enactmentDate.toISOString()),
188
226
  'supplementalDocs': value.supplementalDocs === undefined ? undefined : (value.supplementalDocs === null ? null : (value.supplementalDocs as Array<any>).map(GovernanceFileToJSON)),
189
227
  'file': GovernanceFileToJSON(value.file),
190
228
  'authorship': GovernanceScopeToJSON(value.authorship),
191
229
  'verification': GovernanceTrainingVerificationToJSON(value.verification),
230
+ 'createdBy': value.createdBy,
231
+ 'createdAt': (value.createdAt.toISOString()),
232
+ 'updatedAt': (value.updatedAt.toISOString()),
192
233
  };
193
234
  }
194
235
 
@@ -20,9 +20,7 @@
20
20
  export enum GovernanceType {
21
21
  Document = 'DOCUMENT',
22
22
  Agreement = 'AGREEMENT',
23
- Training = 'TRAINING',
24
- Contact = 'CONTACT',
25
- Classification = 'CLASSIFICATION'
23
+ Training = 'TRAINING'
26
24
  }
27
25
 
28
26
 
@@ -68,6 +68,12 @@ export interface NotebookInstance {
68
68
  * @memberof NotebookInstance
69
69
  */
70
70
  volumeSizeGB: number;
71
+ /**
72
+ *
73
+ * @type {boolean}
74
+ * @memberof NotebookInstance
75
+ */
76
+ isSharedWithProject: boolean;
71
77
  /**
72
78
  *
73
79
  * @type {string}
@@ -100,6 +106,7 @@ export function instanceOfNotebookInstance(value: object): boolean {
100
106
  isInstance = isInstance && "instanceType" in value;
101
107
  isInstance = isInstance && "acceleratorTypes" in value;
102
108
  isInstance = isInstance && "volumeSizeGB" in value;
109
+ isInstance = isInstance && "isSharedWithProject" in value;
103
110
  isInstance = isInstance && "createdBy" in value;
104
111
  isInstance = isInstance && "createdAt" in value;
105
112
  isInstance = isInstance && "updatedAt" in value;
@@ -124,6 +131,7 @@ export function NotebookInstanceFromJSONTyped(json: any, ignoreDiscriminator: bo
124
131
  'instanceType': json['instanceType'],
125
132
  'acceleratorTypes': json['acceleratorTypes'],
126
133
  'volumeSizeGB': json['volumeSizeGB'],
134
+ 'isSharedWithProject': json['isSharedWithProject'],
127
135
  'createdBy': json['createdBy'],
128
136
  'createdAt': (new Date(json['createdAt'])),
129
137
  'updatedAt': (new Date(json['updatedAt'])),
@@ -146,6 +154,7 @@ export function NotebookInstanceToJSON(value?: NotebookInstance | null): any {
146
154
  'instanceType': value.instanceType,
147
155
  'acceleratorTypes': value.acceleratorTypes,
148
156
  'volumeSizeGB': value.volumeSizeGB,
157
+ 'isSharedWithProject': value.isSharedWithProject,
149
158
  'createdBy': value.createdBy,
150
159
  'createdAt': (value.createdAt.toISOString()),
151
160
  'updatedAt': (value.updatedAt.toISOString()),
@@ -79,19 +79,25 @@ export interface RequirementInput {
79
79
  * @type {GovernanceScope}
80
80
  * @memberof RequirementInput
81
81
  */
82
- acceptance: GovernanceScope;
82
+ acceptance?: GovernanceScope | null;
83
83
  /**
84
84
  *
85
85
  * @type {Array<string>}
86
86
  * @memberof RequirementInput
87
87
  */
88
- contactIds?: Array<string> | null;
88
+ contactIds: Array<string>;
89
89
  /**
90
90
  *
91
91
  * @type {GovernanceExpiry}
92
92
  * @memberof RequirementInput
93
93
  */
94
94
  expiration: GovernanceExpiry;
95
+ /**
96
+ *
97
+ * @type {Date}
98
+ * @memberof RequirementInput
99
+ */
100
+ enactmentDate?: Date | null;
95
101
  /**
96
102
  *
97
103
  * @type {Array<GovernanceFile>}
@@ -127,7 +133,7 @@ export function instanceOfRequirementInput(value: object): boolean {
127
133
  isInstance = isInstance && "description" in value;
128
134
  isInstance = isInstance && "type" in value;
129
135
  isInstance = isInstance && "scope" in value;
130
- isInstance = isInstance && "acceptance" in value;
136
+ isInstance = isInstance && "contactIds" in value;
131
137
  isInstance = isInstance && "expiration" in value;
132
138
 
133
139
  return isInstance;
@@ -147,9 +153,10 @@ export function RequirementInputFromJSONTyped(json: any, ignoreDiscriminator: bo
147
153
  'description': json['description'],
148
154
  'type': GovernanceTypeFromJSON(json['type']),
149
155
  'scope': GovernanceScopeFromJSON(json['scope']),
150
- 'acceptance': GovernanceScopeFromJSON(json['acceptance']),
151
- 'contactIds': !exists(json, 'contactIds') ? undefined : json['contactIds'],
156
+ 'acceptance': !exists(json, 'acceptance') ? undefined : GovernanceScopeFromJSON(json['acceptance']),
157
+ 'contactIds': json['contactIds'],
152
158
  'expiration': GovernanceExpiryFromJSON(json['expiration']),
159
+ 'enactmentDate': !exists(json, 'enactmentDate') ? undefined : (json['enactmentDate'] === null ? null : new Date(json['enactmentDate'])),
153
160
  'supplementalDocs': !exists(json, 'supplementalDocs') ? undefined : (json['supplementalDocs'] === null ? null : (json['supplementalDocs'] as Array<any>).map(GovernanceFileFromJSON)),
154
161
  'file': !exists(json, 'file') ? undefined : GovernanceFileFromJSON(json['file']),
155
162
  'authorship': !exists(json, 'authorship') ? undefined : GovernanceScopeFromJSON(json['authorship']),
@@ -173,6 +180,7 @@ export function RequirementInputToJSON(value?: RequirementInput | null): any {
173
180
  'acceptance': GovernanceScopeToJSON(value.acceptance),
174
181
  'contactIds': value.contactIds,
175
182
  'expiration': GovernanceExpiryToJSON(value.expiration),
183
+ 'enactmentDate': value.enactmentDate === undefined ? undefined : (value.enactmentDate === null ? null : value.enactmentDate.toISOString()),
176
184
  'supplementalDocs': value.supplementalDocs === undefined ? undefined : (value.supplementalDocs === null ? null : (value.supplementalDocs as Array<any>).map(GovernanceFileToJSON)),
177
185
  'file': GovernanceFileToJSON(value.file),
178
186
  'authorship': GovernanceScopeToJSON(value.authorship),
@@ -13,6 +13,12 @@
13
13
  */
14
14
 
15
15
  import { exists, mapValues } from '../runtime';
16
+ import type { DatasetCondition } from './DatasetCondition';
17
+ import {
18
+ DatasetConditionFromJSON,
19
+ DatasetConditionFromJSONTyped,
20
+ DatasetConditionToJSON,
21
+ } from './DatasetCondition';
16
22
  import type { ShareType } from './ShareType';
17
23
  import {
18
24
  ShareTypeFromJSON,
@@ -56,6 +62,12 @@ export interface Share {
56
62
  * @memberof Share
57
63
  */
58
64
  shareType: ShareType;
65
+ /**
66
+ *
67
+ * @type {Array<DatasetCondition>}
68
+ * @memberof Share
69
+ */
70
+ conditions: Array<DatasetCondition>;
59
71
  /**
60
72
  *
61
73
  * @type {Array<string>}
@@ -98,6 +110,7 @@ export function instanceOfShare(value: object): boolean {
98
110
  isInstance = isInstance && "description" in value;
99
111
  isInstance = isInstance && "originatingProjectId" in value;
100
112
  isInstance = isInstance && "shareType" in value;
113
+ isInstance = isInstance && "conditions" in value;
101
114
  isInstance = isInstance && "classificationIds" in value;
102
115
  isInstance = isInstance && "keywords" in value;
103
116
  isInstance = isInstance && "createdBy" in value;
@@ -122,6 +135,7 @@ export function ShareFromJSONTyped(json: any, ignoreDiscriminator: boolean): Sha
122
135
  'description': json['description'],
123
136
  'originatingProjectId': json['originatingProjectId'],
124
137
  'shareType': ShareTypeFromJSON(json['shareType']),
138
+ 'conditions': ((json['conditions'] as Array<any>).map(DatasetConditionFromJSON)),
125
139
  'classificationIds': json['classificationIds'],
126
140
  'keywords': json['keywords'],
127
141
  'createdBy': json['createdBy'],
@@ -144,6 +158,7 @@ export function ShareToJSON(value?: Share | null): any {
144
158
  'description': value.description,
145
159
  'originatingProjectId': value.originatingProjectId,
146
160
  'shareType': ShareTypeToJSON(value.shareType),
161
+ 'conditions': ((value.conditions as Array<any>).map(DatasetConditionToJSON)),
147
162
  'classificationIds': value.classificationIds,
148
163
  'keywords': value.keywords,
149
164
  'createdBy': value.createdBy,