@cirrobio/api-client 0.4.0 → 0.4.2

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.
@@ -82,6 +82,7 @@ src/models/GovernanceExpiry.ts
82
82
  src/models/GovernanceExpiryType.ts
83
83
  src/models/GovernanceFile.ts
84
84
  src/models/GovernanceFileAccessRequest.ts
85
+ src/models/GovernanceFileInput.ts
85
86
  src/models/GovernanceFileType.ts
86
87
  src/models/GovernanceRequirement.ts
87
88
  src/models/GovernanceScope.ts
package/README.md CHANGED
@@ -36,7 +36,7 @@ navigate to the folder of your consuming project and run one of the following co
36
36
  _published:_
37
37
 
38
38
  ```
39
- npm install @cirrobio/api-client@0.4.0 --save
39
+ npm install @cirrobio/api-client@0.4.2 --save
40
40
  ```
41
41
 
42
42
  _unPublished (not recommended):_
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime';
13
- import type { ClassificationInput, ContactInput, FulfillmentResponse, GovernanceClassification, GovernanceContact, GovernanceRequirement, ProjectRequirement, RequirementFulfillmentInput, RequirementInput } from '../models/index';
13
+ import type { ClassificationInput, ContactInput, FulfillmentResponse, GovernanceClassification, GovernanceContact, GovernanceFileInput, GovernanceRequirement, ProjectRequirement, RequirementFulfillmentInput, RequirementInput } from '../models/index';
14
14
  export interface CreateClassificationRequest {
15
15
  classificationInput: ClassificationInput;
16
16
  }
@@ -61,6 +61,11 @@ export interface UpdateRequirementRequest {
61
61
  requirementId: string;
62
62
  requirementInput: RequirementInput;
63
63
  }
64
+ export interface UpdateRequirementFileForProjectRequest {
65
+ requirementId: string;
66
+ projectId: string;
67
+ governanceFileInput: GovernanceFileInput;
68
+ }
64
69
  /**
65
70
  *
66
71
  */
@@ -235,4 +240,14 @@ export declare class GovernanceApi extends runtime.BaseAPI {
235
240
  * Update requirement
236
241
  */
237
242
  updateRequirement(requestParameters: UpdateRequirementRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GovernanceRequirement>;
243
+ /**
244
+ * Updates the project-specific file for a requirement
245
+ * Update the project file for a requirement
246
+ */
247
+ updateRequirementFileForProjectRaw(requestParameters: UpdateRequirementFileForProjectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
248
+ /**
249
+ * Updates the project-specific file for a requirement
250
+ * Update the project file for a requirement
251
+ */
252
+ updateRequirementFileForProject(requestParameters: UpdateRequirementFileForProjectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
238
253
  }
@@ -1028,6 +1028,67 @@ var GovernanceApi = /** @class */ (function (_super) {
1028
1028
  });
1029
1029
  });
1030
1030
  };
1031
+ /**
1032
+ * Updates the project-specific file for a requirement
1033
+ * Update the project file for a requirement
1034
+ */
1035
+ GovernanceApi.prototype.updateRequirementFileForProjectRaw = function (requestParameters, initOverrides) {
1036
+ return __awaiter(this, void 0, void 0, function () {
1037
+ var queryParameters, headerParameters, token, tokenString, response;
1038
+ return __generator(this, function (_a) {
1039
+ switch (_a.label) {
1040
+ case 0:
1041
+ if (requestParameters.requirementId === null || requestParameters.requirementId === undefined) {
1042
+ throw new runtime.RequiredError('requirementId', 'Required parameter requestParameters.requirementId was null or undefined when calling updateRequirementFileForProject.');
1043
+ }
1044
+ if (requestParameters.projectId === null || requestParameters.projectId === undefined) {
1045
+ throw new runtime.RequiredError('projectId', 'Required parameter requestParameters.projectId was null or undefined when calling updateRequirementFileForProject.');
1046
+ }
1047
+ if (requestParameters.governanceFileInput === null || requestParameters.governanceFileInput === undefined) {
1048
+ throw new runtime.RequiredError('governanceFileInput', 'Required parameter requestParameters.governanceFileInput was null or undefined when calling updateRequirementFileForProject.');
1049
+ }
1050
+ queryParameters = {};
1051
+ headerParameters = {};
1052
+ headerParameters['Content-Type'] = 'application/json';
1053
+ if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
1054
+ token = this.configuration.accessToken;
1055
+ return [4 /*yield*/, token("accessToken", [])];
1056
+ case 1:
1057
+ tokenString = _a.sent();
1058
+ if (tokenString) {
1059
+ headerParameters["Authorization"] = "Bearer ".concat(tokenString);
1060
+ }
1061
+ _a.label = 2;
1062
+ case 2: return [4 /*yield*/, this.request({
1063
+ path: "/governance/requirements/{requirementId}/projects/{projectId}".replace("{".concat("requirementId", "}"), encodeURIComponent(String(requestParameters.requirementId))).replace("{".concat("projectId", "}"), encodeURIComponent(String(requestParameters.projectId))),
1064
+ method: 'PUT',
1065
+ headers: headerParameters,
1066
+ query: queryParameters,
1067
+ body: (0, index_1.GovernanceFileInputToJSON)(requestParameters.governanceFileInput),
1068
+ }, initOverrides)];
1069
+ case 3:
1070
+ response = _a.sent();
1071
+ return [2 /*return*/, new runtime.VoidApiResponse(response)];
1072
+ }
1073
+ });
1074
+ });
1075
+ };
1076
+ /**
1077
+ * Updates the project-specific file for a requirement
1078
+ * Update the project file for a requirement
1079
+ */
1080
+ GovernanceApi.prototype.updateRequirementFileForProject = function (requestParameters, initOverrides) {
1081
+ return __awaiter(this, void 0, void 0, function () {
1082
+ return __generator(this, function (_a) {
1083
+ switch (_a.label) {
1084
+ case 0: return [4 /*yield*/, this.updateRequirementFileForProjectRaw(requestParameters, initOverrides)];
1085
+ case 1:
1086
+ _a.sent();
1087
+ return [2 /*return*/];
1088
+ }
1089
+ });
1090
+ });
1091
+ };
1031
1092
  return GovernanceApi;
1032
1093
  }(runtime.BaseAPI));
1033
1094
  exports.GovernanceApi = GovernanceApi;
@@ -33,6 +33,12 @@ export interface AuthInfo {
33
33
  * @memberof AuthInfo
34
34
  */
35
35
  uiAppId: string;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof AuthInfo
40
+ */
41
+ driveAppId: string;
36
42
  /**
37
43
  *
38
44
  * @type {string}
@@ -22,6 +22,7 @@ function instanceOfAuthInfo(value) {
22
22
  isInstance = isInstance && "userPoolId" in value;
23
23
  isInstance = isInstance && "sdkAppId" in value;
24
24
  isInstance = isInstance && "uiAppId" in value;
25
+ isInstance = isInstance && "driveAppId" in value;
25
26
  isInstance = isInstance && "endpoint" in value;
26
27
  return isInstance;
27
28
  }
@@ -38,6 +39,7 @@ function AuthInfoFromJSONTyped(json, ignoreDiscriminator) {
38
39
  'userPoolId': json['userPoolId'],
39
40
  'sdkAppId': json['sdkAppId'],
40
41
  'uiAppId': json['uiAppId'],
42
+ 'driveAppId': json['driveAppId'],
41
43
  'endpoint': json['endpoint'],
42
44
  };
43
45
  }
@@ -53,6 +55,7 @@ function AuthInfoToJSON(value) {
53
55
  'userPoolId': value.userPoolId,
54
56
  'sdkAppId': value.sdkAppId,
55
57
  'uiAppId': value.uiAppId,
58
+ 'driveAppId': value.driveAppId,
56
59
  'endpoint': value.endpoint,
57
60
  };
58
61
  }
@@ -66,6 +66,12 @@ export interface DatasetDetail {
66
66
  * @memberof DatasetDetail
67
67
  */
68
68
  sourceDatasets: Array<NamedItem>;
69
+ /**
70
+ *
71
+ * @type {Array<string>}
72
+ * @memberof DatasetDetail
73
+ */
74
+ sourceSampleIds: Array<string>;
69
75
  /**
70
76
  *
71
77
  * @type {Status}
@@ -31,6 +31,7 @@ function instanceOfDatasetDetail(value) {
31
31
  isInstance = isInstance && "projectId" in value;
32
32
  isInstance = isInstance && "sourceDatasetIds" in value;
33
33
  isInstance = isInstance && "sourceDatasets" in value;
34
+ isInstance = isInstance && "sourceSampleIds" in value;
34
35
  isInstance = isInstance && "status" in value;
35
36
  isInstance = isInstance && "statusMessage" in value;
36
37
  isInstance = isInstance && "tags" in value;
@@ -60,6 +61,7 @@ function DatasetDetailFromJSONTyped(json, ignoreDiscriminator) {
60
61
  'projectId': json['projectId'],
61
62
  'sourceDatasetIds': json['sourceDatasetIds'],
62
63
  'sourceDatasets': (json['sourceDatasets'].map(NamedItem_1.NamedItemFromJSON)),
64
+ 'sourceSampleIds': json['sourceSampleIds'],
63
65
  'status': (0, Status_1.StatusFromJSON)(json['status']),
64
66
  'statusMessage': json['statusMessage'],
65
67
  'tags': (json['tags'].map(Tag_1.TagFromJSON)),
@@ -89,6 +91,7 @@ function DatasetDetailToJSON(value) {
89
91
  'projectId': value.projectId,
90
92
  'sourceDatasetIds': value.sourceDatasetIds,
91
93
  'sourceDatasets': (value.sourceDatasets.map(NamedItem_1.NamedItemToJSON)),
94
+ 'sourceSampleIds': value.sourceSampleIds,
92
95
  'status': (0, Status_1.StatusToJSON)(value.status),
93
96
  'statusMessage': value.statusMessage,
94
97
  'tags': (value.tags.map(Tag_1.TagToJSON)),
@@ -15,6 +15,12 @@
15
15
  * @interface DatasetViz
16
16
  */
17
17
  export interface DatasetViz {
18
+ /**
19
+ * Path to viz configuration, if applicable
20
+ * @type {string}
21
+ * @memberof DatasetViz
22
+ */
23
+ path?: string;
18
24
  /**
19
25
  * Name of viz
20
26
  * @type {string}
@@ -32,6 +32,7 @@ function DatasetVizFromJSONTyped(json, ignoreDiscriminator) {
32
32
  return json;
33
33
  }
34
34
  return {
35
+ 'path': !(0, runtime_1.exists)(json, 'path') ? undefined : json['path'],
35
36
  'name': !(0, runtime_1.exists)(json, 'name') ? undefined : json['name'],
36
37
  'desc': !(0, runtime_1.exists)(json, 'desc') ? undefined : json['desc'],
37
38
  'type': !(0, runtime_1.exists)(json, 'type') ? undefined : json['type'],
@@ -47,6 +48,7 @@ function DatasetVizToJSON(value) {
47
48
  return null;
48
49
  }
49
50
  return {
51
+ 'path': value.path,
50
52
  'name': value.name,
51
53
  'desc': value.desc,
52
54
  'type': value.type,
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Cirro Data
3
+ * Cirro Data Platform service API
4
+ *
5
+ * The version of the OpenAPI document: latest
6
+ * Contact: support@cirro.bio
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { GovernanceFileType } from './GovernanceFileType';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface GovernanceFileInput
17
+ */
18
+ export interface GovernanceFileInput {
19
+ /**
20
+ *
21
+ * @type {string}
22
+ * @memberof GovernanceFileInput
23
+ */
24
+ name: string;
25
+ /**
26
+ *
27
+ * @type {string}
28
+ * @memberof GovernanceFileInput
29
+ */
30
+ description: string;
31
+ /**
32
+ *
33
+ * @type {string}
34
+ * @memberof GovernanceFileInput
35
+ */
36
+ src: string;
37
+ /**
38
+ *
39
+ * @type {GovernanceFileType}
40
+ * @memberof GovernanceFileInput
41
+ */
42
+ type: GovernanceFileType;
43
+ }
44
+ /**
45
+ * Check if a given object implements the GovernanceFileInput interface.
46
+ */
47
+ export declare function instanceOfGovernanceFileInput(value: object): boolean;
48
+ export declare function GovernanceFileInputFromJSON(json: any): GovernanceFileInput;
49
+ export declare function GovernanceFileInputFromJSONTyped(json: any, ignoreDiscriminator: boolean): GovernanceFileInput;
50
+ export declare function GovernanceFileInputToJSON(value?: GovernanceFileInput | null): any;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Cirro Data
6
+ * Cirro Data Platform service API
7
+ *
8
+ * The version of the OpenAPI document: latest
9
+ * Contact: support@cirro.bio
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.GovernanceFileInputToJSON = exports.GovernanceFileInputFromJSONTyped = exports.GovernanceFileInputFromJSON = exports.instanceOfGovernanceFileInput = void 0;
17
+ var GovernanceFileType_1 = require("./GovernanceFileType");
18
+ /**
19
+ * Check if a given object implements the GovernanceFileInput interface.
20
+ */
21
+ function instanceOfGovernanceFileInput(value) {
22
+ var isInstance = true;
23
+ isInstance = isInstance && "name" in value;
24
+ isInstance = isInstance && "description" in value;
25
+ isInstance = isInstance && "src" in value;
26
+ isInstance = isInstance && "type" in value;
27
+ return isInstance;
28
+ }
29
+ exports.instanceOfGovernanceFileInput = instanceOfGovernanceFileInput;
30
+ function GovernanceFileInputFromJSON(json) {
31
+ return GovernanceFileInputFromJSONTyped(json, false);
32
+ }
33
+ exports.GovernanceFileInputFromJSON = GovernanceFileInputFromJSON;
34
+ function GovernanceFileInputFromJSONTyped(json, ignoreDiscriminator) {
35
+ if ((json === undefined) || (json === null)) {
36
+ return json;
37
+ }
38
+ return {
39
+ 'name': json['name'],
40
+ 'description': json['description'],
41
+ 'src': json['src'],
42
+ 'type': (0, GovernanceFileType_1.GovernanceFileTypeFromJSON)(json['type']),
43
+ };
44
+ }
45
+ exports.GovernanceFileInputFromJSONTyped = GovernanceFileInputFromJSONTyped;
46
+ function GovernanceFileInputToJSON(value) {
47
+ if (value === undefined) {
48
+ return undefined;
49
+ }
50
+ if (value === null) {
51
+ return null;
52
+ }
53
+ return {
54
+ 'name': value.name,
55
+ 'description': value.description,
56
+ 'src': value.src,
57
+ 'type': (0, GovernanceFileType_1.GovernanceFileTypeToJSON)(value.type),
58
+ };
59
+ }
60
+ exports.GovernanceFileInputToJSON = GovernanceFileInputToJSON;
@@ -104,6 +104,14 @@ export interface GovernanceRequirement {
104
104
  * @memberof GovernanceRequirement
105
105
  */
106
106
  authorship?: GovernanceScope | null;
107
+ /**
108
+ * Files supplied by each project when authorship is project
109
+ * @type {{ [key: string]: GovernanceFile; }}
110
+ * @memberof GovernanceRequirement
111
+ */
112
+ projectFileMap?: {
113
+ [key: string]: GovernanceFile;
114
+ } | null;
107
115
  /**
108
116
  *
109
117
  * @type {GovernanceTrainingVerification}
@@ -62,6 +62,7 @@ function GovernanceRequirementFromJSONTyped(json, ignoreDiscriminator) {
62
62
  'supplementalDocs': !(0, runtime_1.exists)(json, 'supplementalDocs') ? undefined : (json['supplementalDocs'] === null ? null : json['supplementalDocs'].map(GovernanceFile_1.GovernanceFileFromJSON)),
63
63
  'file': !(0, runtime_1.exists)(json, 'file') ? undefined : (0, GovernanceFile_1.GovernanceFileFromJSON)(json['file']),
64
64
  'authorship': !(0, runtime_1.exists)(json, 'authorship') ? undefined : (0, GovernanceScope_1.GovernanceScopeFromJSON)(json['authorship']),
65
+ 'projectFileMap': !(0, runtime_1.exists)(json, 'projectFileMap') ? undefined : (json['projectFileMap'] === null ? null : (0, runtime_1.mapValues)(json['projectFileMap'], GovernanceFile_1.GovernanceFileFromJSON)),
65
66
  'verificationMethod': !(0, runtime_1.exists)(json, 'verificationMethod') ? undefined : (0, GovernanceTrainingVerification_1.GovernanceTrainingVerificationFromJSON)(json['verificationMethod']),
66
67
  'createdBy': json['createdBy'],
67
68
  'createdAt': (new Date(json['createdAt'])),
@@ -91,6 +92,7 @@ function GovernanceRequirementToJSON(value) {
91
92
  'supplementalDocs': value.supplementalDocs === undefined ? undefined : (value.supplementalDocs === null ? null : value.supplementalDocs.map(GovernanceFile_1.GovernanceFileToJSON)),
92
93
  'file': (0, GovernanceFile_1.GovernanceFileToJSON)(value.file),
93
94
  'authorship': (0, GovernanceScope_1.GovernanceScopeToJSON)(value.authorship),
95
+ 'projectFileMap': value.projectFileMap === undefined ? undefined : (value.projectFileMap === null ? null : (0, runtime_1.mapValues)(value.projectFileMap, GovernanceFile_1.GovernanceFileToJSON)),
94
96
  'verificationMethod': (0, GovernanceTrainingVerification_1.GovernanceTrainingVerificationToJSON)(value.verificationMethod),
95
97
  'createdBy': value.createdBy,
96
98
  'createdAt': (value.createdAt.toISOString()),
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { Tag } from './Tag';
12
13
  /**
13
14
  *
14
15
  * @export
@@ -33,6 +34,12 @@ export interface ImportDataRequest {
33
34
  * @memberof ImportDataRequest
34
35
  */
35
36
  publicIds: Array<string>;
37
+ /**
38
+ * List of tags to apply to the dataset
39
+ * @type {Array<Tag>}
40
+ * @memberof ImportDataRequest
41
+ */
42
+ tags?: Array<Tag> | null;
36
43
  }
37
44
  /**
38
45
  * Check if a given object implements the ImportDataRequest interface.
@@ -15,6 +15,7 @@
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.ImportDataRequestToJSON = exports.ImportDataRequestFromJSONTyped = exports.ImportDataRequestFromJSON = exports.instanceOfImportDataRequest = void 0;
17
17
  var runtime_1 = require("../runtime");
18
+ var Tag_1 = require("./Tag");
18
19
  /**
19
20
  * Check if a given object implements the ImportDataRequest interface.
20
21
  */
@@ -37,6 +38,7 @@ function ImportDataRequestFromJSONTyped(json, ignoreDiscriminator) {
37
38
  'name': json['name'],
38
39
  'description': !(0, runtime_1.exists)(json, 'description') ? undefined : json['description'],
39
40
  'publicIds': json['publicIds'],
41
+ 'tags': !(0, runtime_1.exists)(json, 'tags') ? undefined : (json['tags'] === null ? null : json['tags'].map(Tag_1.TagFromJSON)),
40
42
  };
41
43
  }
42
44
  exports.ImportDataRequestFromJSONTyped = ImportDataRequestFromJSONTyped;
@@ -51,6 +53,7 @@ function ImportDataRequestToJSON(value) {
51
53
  'name': value.name,
52
54
  'description': value.description,
53
55
  'publicIds': value.publicIds,
56
+ 'tags': value.tags === undefined ? undefined : (value.tags === null ? null : value.tags.map(Tag_1.TagToJSON)),
54
57
  };
55
58
  }
56
59
  exports.ImportDataRequestToJSON = ImportDataRequestToJSON;
@@ -16,23 +16,24 @@
16
16
  */
17
17
  export interface Tag {
18
18
  /**
19
- *
20
- * @type {string}
19
+ * Whether the tag value is editable
20
+ * @type {boolean}
21
21
  * @memberof Tag
22
22
  */
23
- key: string;
23
+ editable?: boolean;
24
24
  /**
25
25
  *
26
26
  * @type {string}
27
27
  * @memberof Tag
28
+ * @deprecated
28
29
  */
29
- value: string;
30
+ key?: string | null;
30
31
  /**
31
- *
32
- * @type {boolean}
32
+ * The value of the tag
33
+ * @type {string}
33
34
  * @memberof Tag
34
35
  */
35
- editable: boolean;
36
+ value: string;
36
37
  }
37
38
  /**
38
39
  * Check if a given object implements the Tag interface.
@@ -14,14 +14,13 @@
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.TagToJSON = exports.TagFromJSONTyped = exports.TagFromJSON = exports.instanceOfTag = void 0;
17
+ var runtime_1 = require("../runtime");
17
18
  /**
18
19
  * Check if a given object implements the Tag interface.
19
20
  */
20
21
  function instanceOfTag(value) {
21
22
  var isInstance = true;
22
- isInstance = isInstance && "key" in value;
23
23
  isInstance = isInstance && "value" in value;
24
- isInstance = isInstance && "editable" in value;
25
24
  return isInstance;
26
25
  }
27
26
  exports.instanceOfTag = instanceOfTag;
@@ -34,9 +33,9 @@ function TagFromJSONTyped(json, ignoreDiscriminator) {
34
33
  return json;
35
34
  }
36
35
  return {
37
- 'key': json['key'],
36
+ 'editable': !(0, runtime_1.exists)(json, 'editable') ? undefined : json['editable'],
37
+ 'key': !(0, runtime_1.exists)(json, 'key') ? undefined : json['key'],
38
38
  'value': json['value'],
39
- 'editable': json['editable'],
40
39
  };
41
40
  }
42
41
  exports.TagFromJSONTyped = TagFromJSONTyped;
@@ -48,9 +47,9 @@ function TagToJSON(value) {
48
47
  return null;
49
48
  }
50
49
  return {
50
+ 'editable': value.editable,
51
51
  'key': value.key,
52
52
  'value': value.value,
53
- 'editable': value.editable,
54
53
  };
55
54
  }
56
55
  exports.TagToJSON = TagToJSON;
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { Tag } from './Tag';
12
13
  /**
13
14
  *
14
15
  * @export
@@ -39,6 +40,12 @@ export interface UploadDatasetRequest {
39
40
  * @memberof UploadDatasetRequest
40
41
  */
41
42
  expectedFiles: Array<string>;
43
+ /**
44
+ * List of tags to apply to the dataset
45
+ * @type {Array<Tag>}
46
+ * @memberof UploadDatasetRequest
47
+ */
48
+ tags?: Array<Tag> | null;
42
49
  }
43
50
  /**
44
51
  * Check if a given object implements the UploadDatasetRequest interface.
@@ -15,6 +15,7 @@
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.UploadDatasetRequestToJSON = exports.UploadDatasetRequestFromJSONTyped = exports.UploadDatasetRequestFromJSON = exports.instanceOfUploadDatasetRequest = void 0;
17
17
  var runtime_1 = require("../runtime");
18
+ var Tag_1 = require("./Tag");
18
19
  /**
19
20
  * Check if a given object implements the UploadDatasetRequest interface.
20
21
  */
@@ -39,6 +40,7 @@ function UploadDatasetRequestFromJSONTyped(json, ignoreDiscriminator) {
39
40
  'description': !(0, runtime_1.exists)(json, 'description') ? undefined : json['description'],
40
41
  'processId': json['processId'],
41
42
  'expectedFiles': json['expectedFiles'],
43
+ 'tags': !(0, runtime_1.exists)(json, 'tags') ? undefined : (json['tags'] === null ? null : json['tags'].map(Tag_1.TagFromJSON)),
42
44
  };
43
45
  }
44
46
  exports.UploadDatasetRequestFromJSONTyped = UploadDatasetRequestFromJSONTyped;
@@ -54,6 +56,7 @@ function UploadDatasetRequestToJSON(value) {
54
56
  'description': value.description,
55
57
  'processId': value.processId,
56
58
  'expectedFiles': value.expectedFiles,
59
+ 'tags': value.tags === undefined ? undefined : (value.tags === null ? null : value.tags.map(Tag_1.TagToJSON)),
57
60
  };
58
61
  }
59
62
  exports.UploadDatasetRequestToJSON = UploadDatasetRequestToJSON;
@@ -57,6 +57,7 @@ export * from './GovernanceExpiry';
57
57
  export * from './GovernanceExpiryType';
58
58
  export * from './GovernanceFile';
59
59
  export * from './GovernanceFileAccessRequest';
60
+ export * from './GovernanceFileInput';
60
61
  export * from './GovernanceFileType';
61
62
  export * from './GovernanceRequirement';
62
63
  export * from './GovernanceScope';
@@ -75,6 +75,7 @@ __exportStar(require("./GovernanceExpiry"), exports);
75
75
  __exportStar(require("./GovernanceExpiryType"), exports);
76
76
  __exportStar(require("./GovernanceFile"), exports);
77
77
  __exportStar(require("./GovernanceFileAccessRequest"), exports);
78
+ __exportStar(require("./GovernanceFileInput"), exports);
78
79
  __exportStar(require("./GovernanceFileType"), exports);
79
80
  __exportStar(require("./GovernanceRequirement"), exports);
80
81
  __exportStar(require("./GovernanceScope"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cirrobio/api-client",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "API client for Cirro",
5
5
  "author": "CirroBio",
6
6
  "repository": {
@@ -20,6 +20,7 @@ import type {
20
20
  FulfillmentResponse,
21
21
  GovernanceClassification,
22
22
  GovernanceContact,
23
+ GovernanceFileInput,
23
24
  GovernanceRequirement,
24
25
  ProjectRequirement,
25
26
  RequirementFulfillmentInput,
@@ -36,6 +37,8 @@ import {
36
37
  GovernanceClassificationToJSON,
37
38
  GovernanceContactFromJSON,
38
39
  GovernanceContactToJSON,
40
+ GovernanceFileInputFromJSON,
41
+ GovernanceFileInputToJSON,
39
42
  GovernanceRequirementFromJSON,
40
43
  GovernanceRequirementToJSON,
41
44
  ProjectRequirementFromJSON,
@@ -111,6 +114,12 @@ export interface UpdateRequirementRequest {
111
114
  requirementInput: RequirementInput;
112
115
  }
113
116
 
117
+ export interface UpdateRequirementFileForProjectRequest {
118
+ requirementId: string;
119
+ projectId: string;
120
+ governanceFileInput: GovernanceFileInput;
121
+ }
122
+
114
123
  /**
115
124
  *
116
125
  */
@@ -826,4 +835,54 @@ export class GovernanceApi extends runtime.BaseAPI {
826
835
  return await response.value();
827
836
  }
828
837
 
838
+ /**
839
+ * Updates the project-specific file for a requirement
840
+ * Update the project file for a requirement
841
+ */
842
+ async updateRequirementFileForProjectRaw(requestParameters: UpdateRequirementFileForProjectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
843
+ if (requestParameters.requirementId === null || requestParameters.requirementId === undefined) {
844
+ throw new runtime.RequiredError('requirementId','Required parameter requestParameters.requirementId was null or undefined when calling updateRequirementFileForProject.');
845
+ }
846
+
847
+ if (requestParameters.projectId === null || requestParameters.projectId === undefined) {
848
+ throw new runtime.RequiredError('projectId','Required parameter requestParameters.projectId was null or undefined when calling updateRequirementFileForProject.');
849
+ }
850
+
851
+ if (requestParameters.governanceFileInput === null || requestParameters.governanceFileInput === undefined) {
852
+ throw new runtime.RequiredError('governanceFileInput','Required parameter requestParameters.governanceFileInput was null or undefined when calling updateRequirementFileForProject.');
853
+ }
854
+
855
+ const queryParameters: any = {};
856
+
857
+ const headerParameters: runtime.HTTPHeaders = {};
858
+
859
+ headerParameters['Content-Type'] = 'application/json';
860
+
861
+ if (this.configuration && this.configuration.accessToken) {
862
+ const token = this.configuration.accessToken;
863
+ const tokenString = await token("accessToken", []);
864
+
865
+ if (tokenString) {
866
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
867
+ }
868
+ }
869
+ const response = await this.request({
870
+ path: `/governance/requirements/{requirementId}/projects/{projectId}`.replace(`{${"requirementId"}}`, encodeURIComponent(String(requestParameters.requirementId))).replace(`{${"projectId"}}`, encodeURIComponent(String(requestParameters.projectId))),
871
+ method: 'PUT',
872
+ headers: headerParameters,
873
+ query: queryParameters,
874
+ body: GovernanceFileInputToJSON(requestParameters.governanceFileInput),
875
+ }, initOverrides);
876
+
877
+ return new runtime.VoidApiResponse(response);
878
+ }
879
+
880
+ /**
881
+ * Updates the project-specific file for a requirement
882
+ * Update the project file for a requirement
883
+ */
884
+ async updateRequirementFileForProject(requestParameters: UpdateRequirementFileForProjectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
885
+ await this.updateRequirementFileForProjectRaw(requestParameters, initOverrides);
886
+ }
887
+
829
888
  }
@@ -37,6 +37,12 @@ export interface AuthInfo {
37
37
  * @memberof AuthInfo
38
38
  */
39
39
  uiAppId: string;
40
+ /**
41
+ *
42
+ * @type {string}
43
+ * @memberof AuthInfo
44
+ */
45
+ driveAppId: string;
40
46
  /**
41
47
  *
42
48
  * @type {string}
@@ -53,6 +59,7 @@ export function instanceOfAuthInfo(value: object): boolean {
53
59
  isInstance = isInstance && "userPoolId" in value;
54
60
  isInstance = isInstance && "sdkAppId" in value;
55
61
  isInstance = isInstance && "uiAppId" in value;
62
+ isInstance = isInstance && "driveAppId" in value;
56
63
  isInstance = isInstance && "endpoint" in value;
57
64
 
58
65
  return isInstance;
@@ -71,6 +78,7 @@ export function AuthInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean):
71
78
  'userPoolId': json['userPoolId'],
72
79
  'sdkAppId': json['sdkAppId'],
73
80
  'uiAppId': json['uiAppId'],
81
+ 'driveAppId': json['driveAppId'],
74
82
  'endpoint': json['endpoint'],
75
83
  };
76
84
  }
@@ -87,6 +95,7 @@ export function AuthInfoToJSON(value?: AuthInfo | null): any {
87
95
  'userPoolId': value.userPoolId,
88
96
  'sdkAppId': value.sdkAppId,
89
97
  'uiAppId': value.uiAppId,
98
+ 'driveAppId': value.driveAppId,
90
99
  'endpoint': value.endpoint,
91
100
  };
92
101
  }
@@ -86,6 +86,12 @@ export interface DatasetDetail {
86
86
  * @memberof DatasetDetail
87
87
  */
88
88
  sourceDatasets: Array<NamedItem>;
89
+ /**
90
+ *
91
+ * @type {Array<string>}
92
+ * @memberof DatasetDetail
93
+ */
94
+ sourceSampleIds: Array<string>;
89
95
  /**
90
96
  *
91
97
  * @type {Status}
@@ -161,6 +167,7 @@ export function instanceOfDatasetDetail(value: object): boolean {
161
167
  isInstance = isInstance && "projectId" in value;
162
168
  isInstance = isInstance && "sourceDatasetIds" in value;
163
169
  isInstance = isInstance && "sourceDatasets" in value;
170
+ isInstance = isInstance && "sourceSampleIds" in value;
164
171
  isInstance = isInstance && "status" in value;
165
172
  isInstance = isInstance && "statusMessage" in value;
166
173
  isInstance = isInstance && "tags" in value;
@@ -192,6 +199,7 @@ export function DatasetDetailFromJSONTyped(json: any, ignoreDiscriminator: boole
192
199
  'projectId': json['projectId'],
193
200
  'sourceDatasetIds': json['sourceDatasetIds'],
194
201
  'sourceDatasets': ((json['sourceDatasets'] as Array<any>).map(NamedItemFromJSON)),
202
+ 'sourceSampleIds': json['sourceSampleIds'],
195
203
  'status': StatusFromJSON(json['status']),
196
204
  'statusMessage': json['statusMessage'],
197
205
  'tags': ((json['tags'] as Array<any>).map(TagFromJSON)),
@@ -222,6 +230,7 @@ export function DatasetDetailToJSON(value?: DatasetDetail | null): any {
222
230
  'projectId': value.projectId,
223
231
  'sourceDatasetIds': value.sourceDatasetIds,
224
232
  'sourceDatasets': ((value.sourceDatasets as Array<any>).map(NamedItemToJSON)),
233
+ 'sourceSampleIds': value.sourceSampleIds,
225
234
  'status': StatusToJSON(value.status),
226
235
  'statusMessage': value.statusMessage,
227
236
  'tags': ((value.tags as Array<any>).map(TagToJSON)),
@@ -19,6 +19,12 @@ import { exists, mapValues } from '../runtime';
19
19
  * @interface DatasetViz
20
20
  */
21
21
  export interface DatasetViz {
22
+ /**
23
+ * Path to viz configuration, if applicable
24
+ * @type {string}
25
+ * @memberof DatasetViz
26
+ */
27
+ path?: string;
22
28
  /**
23
29
  * Name of viz
24
30
  * @type {string}
@@ -64,6 +70,7 @@ export function DatasetVizFromJSONTyped(json: any, ignoreDiscriminator: boolean)
64
70
  }
65
71
  return {
66
72
 
73
+ 'path': !exists(json, 'path') ? undefined : json['path'],
67
74
  'name': !exists(json, 'name') ? undefined : json['name'],
68
75
  'desc': !exists(json, 'desc') ? undefined : json['desc'],
69
76
  'type': !exists(json, 'type') ? undefined : json['type'],
@@ -80,6 +87,7 @@ export function DatasetVizToJSON(value?: DatasetViz | null): any {
80
87
  }
81
88
  return {
82
89
 
90
+ 'path': value.path,
83
91
  'name': value.name,
84
92
  'desc': value.desc,
85
93
  'type': value.type,
@@ -0,0 +1,100 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Cirro Data
5
+ * Cirro Data Platform service API
6
+ *
7
+ * The version of the OpenAPI document: latest
8
+ * Contact: support@cirro.bio
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { exists, mapValues } from '../runtime';
16
+ import type { GovernanceFileType } from './GovernanceFileType';
17
+ import {
18
+ GovernanceFileTypeFromJSON,
19
+ GovernanceFileTypeFromJSONTyped,
20
+ GovernanceFileTypeToJSON,
21
+ } from './GovernanceFileType';
22
+
23
+ /**
24
+ *
25
+ * @export
26
+ * @interface GovernanceFileInput
27
+ */
28
+ export interface GovernanceFileInput {
29
+ /**
30
+ *
31
+ * @type {string}
32
+ * @memberof GovernanceFileInput
33
+ */
34
+ name: string;
35
+ /**
36
+ *
37
+ * @type {string}
38
+ * @memberof GovernanceFileInput
39
+ */
40
+ description: string;
41
+ /**
42
+ *
43
+ * @type {string}
44
+ * @memberof GovernanceFileInput
45
+ */
46
+ src: string;
47
+ /**
48
+ *
49
+ * @type {GovernanceFileType}
50
+ * @memberof GovernanceFileInput
51
+ */
52
+ type: GovernanceFileType;
53
+ }
54
+
55
+ /**
56
+ * Check if a given object implements the GovernanceFileInput interface.
57
+ */
58
+ export function instanceOfGovernanceFileInput(value: object): boolean {
59
+ let isInstance = true;
60
+ isInstance = isInstance && "name" in value;
61
+ isInstance = isInstance && "description" in value;
62
+ isInstance = isInstance && "src" in value;
63
+ isInstance = isInstance && "type" in value;
64
+
65
+ return isInstance;
66
+ }
67
+
68
+ export function GovernanceFileInputFromJSON(json: any): GovernanceFileInput {
69
+ return GovernanceFileInputFromJSONTyped(json, false);
70
+ }
71
+
72
+ export function GovernanceFileInputFromJSONTyped(json: any, ignoreDiscriminator: boolean): GovernanceFileInput {
73
+ if ((json === undefined) || (json === null)) {
74
+ return json;
75
+ }
76
+ return {
77
+
78
+ 'name': json['name'],
79
+ 'description': json['description'],
80
+ 'src': json['src'],
81
+ 'type': GovernanceFileTypeFromJSON(json['type']),
82
+ };
83
+ }
84
+
85
+ export function GovernanceFileInputToJSON(value?: GovernanceFileInput | null): any {
86
+ if (value === undefined) {
87
+ return undefined;
88
+ }
89
+ if (value === null) {
90
+ return null;
91
+ }
92
+ return {
93
+
94
+ 'name': value.name,
95
+ 'description': value.description,
96
+ 'src': value.src,
97
+ 'type': GovernanceFileTypeToJSON(value.type),
98
+ };
99
+ }
100
+
@@ -134,6 +134,12 @@ export interface GovernanceRequirement {
134
134
  * @memberof GovernanceRequirement
135
135
  */
136
136
  authorship?: GovernanceScope | null;
137
+ /**
138
+ * Files supplied by each project when authorship is project
139
+ * @type {{ [key: string]: GovernanceFile; }}
140
+ * @memberof GovernanceRequirement
141
+ */
142
+ projectFileMap?: { [key: string]: GovernanceFile; } | null;
137
143
  /**
138
144
  *
139
145
  * @type {GovernanceTrainingVerification}
@@ -204,6 +210,7 @@ export function GovernanceRequirementFromJSONTyped(json: any, ignoreDiscriminato
204
210
  'supplementalDocs': !exists(json, 'supplementalDocs') ? undefined : (json['supplementalDocs'] === null ? null : (json['supplementalDocs'] as Array<any>).map(GovernanceFileFromJSON)),
205
211
  'file': !exists(json, 'file') ? undefined : GovernanceFileFromJSON(json['file']),
206
212
  'authorship': !exists(json, 'authorship') ? undefined : GovernanceScopeFromJSON(json['authorship']),
213
+ 'projectFileMap': !exists(json, 'projectFileMap') ? undefined : (json['projectFileMap'] === null ? null : mapValues(json['projectFileMap'], GovernanceFileFromJSON)),
207
214
  'verificationMethod': !exists(json, 'verificationMethod') ? undefined : GovernanceTrainingVerificationFromJSON(json['verificationMethod']),
208
215
  'createdBy': json['createdBy'],
209
216
  'createdAt': (new Date(json['createdAt'])),
@@ -234,6 +241,7 @@ export function GovernanceRequirementToJSON(value?: GovernanceRequirement | null
234
241
  'supplementalDocs': value.supplementalDocs === undefined ? undefined : (value.supplementalDocs === null ? null : (value.supplementalDocs as Array<any>).map(GovernanceFileToJSON)),
235
242
  'file': GovernanceFileToJSON(value.file),
236
243
  'authorship': GovernanceScopeToJSON(value.authorship),
244
+ 'projectFileMap': value.projectFileMap === undefined ? undefined : (value.projectFileMap === null ? null : mapValues(value.projectFileMap, GovernanceFileToJSON)),
237
245
  'verificationMethod': GovernanceTrainingVerificationToJSON(value.verificationMethod),
238
246
  'createdBy': value.createdBy,
239
247
  'createdAt': (value.createdAt.toISOString()),
@@ -13,6 +13,13 @@
13
13
  */
14
14
 
15
15
  import { exists, mapValues } from '../runtime';
16
+ import type { Tag } from './Tag';
17
+ import {
18
+ TagFromJSON,
19
+ TagFromJSONTyped,
20
+ TagToJSON,
21
+ } from './Tag';
22
+
16
23
  /**
17
24
  *
18
25
  * @export
@@ -37,6 +44,12 @@ export interface ImportDataRequest {
37
44
  * @memberof ImportDataRequest
38
45
  */
39
46
  publicIds: Array<string>;
47
+ /**
48
+ * List of tags to apply to the dataset
49
+ * @type {Array<Tag>}
50
+ * @memberof ImportDataRequest
51
+ */
52
+ tags?: Array<Tag> | null;
40
53
  }
41
54
 
42
55
  /**
@@ -63,6 +76,7 @@ export function ImportDataRequestFromJSONTyped(json: any, ignoreDiscriminator: b
63
76
  'name': json['name'],
64
77
  'description': !exists(json, 'description') ? undefined : json['description'],
65
78
  'publicIds': json['publicIds'],
79
+ 'tags': !exists(json, 'tags') ? undefined : (json['tags'] === null ? null : (json['tags'] as Array<any>).map(TagFromJSON)),
66
80
  };
67
81
  }
68
82
 
@@ -78,6 +92,7 @@ export function ImportDataRequestToJSON(value?: ImportDataRequest | null): any {
78
92
  'name': value.name,
79
93
  'description': value.description,
80
94
  'publicIds': value.publicIds,
95
+ 'tags': value.tags === undefined ? undefined : (value.tags === null ? null : (value.tags as Array<any>).map(TagToJSON)),
81
96
  };
82
97
  }
83
98
 
package/src/models/Tag.ts CHANGED
@@ -20,23 +20,24 @@ import { exists, mapValues } from '../runtime';
20
20
  */
21
21
  export interface Tag {
22
22
  /**
23
- *
24
- * @type {string}
23
+ * Whether the tag value is editable
24
+ * @type {boolean}
25
25
  * @memberof Tag
26
26
  */
27
- key: string;
27
+ editable?: boolean;
28
28
  /**
29
29
  *
30
30
  * @type {string}
31
31
  * @memberof Tag
32
+ * @deprecated
32
33
  */
33
- value: string;
34
+ key?: string | null;
34
35
  /**
35
- *
36
- * @type {boolean}
36
+ * The value of the tag
37
+ * @type {string}
37
38
  * @memberof Tag
38
39
  */
39
- editable: boolean;
40
+ value: string;
40
41
  }
41
42
 
42
43
  /**
@@ -44,9 +45,7 @@ export interface Tag {
44
45
  */
45
46
  export function instanceOfTag(value: object): boolean {
46
47
  let isInstance = true;
47
- isInstance = isInstance && "key" in value;
48
48
  isInstance = isInstance && "value" in value;
49
- isInstance = isInstance && "editable" in value;
50
49
 
51
50
  return isInstance;
52
51
  }
@@ -61,9 +60,9 @@ export function TagFromJSONTyped(json: any, ignoreDiscriminator: boolean): Tag {
61
60
  }
62
61
  return {
63
62
 
64
- 'key': json['key'],
63
+ 'editable': !exists(json, 'editable') ? undefined : json['editable'],
64
+ 'key': !exists(json, 'key') ? undefined : json['key'],
65
65
  'value': json['value'],
66
- 'editable': json['editable'],
67
66
  };
68
67
  }
69
68
 
@@ -76,9 +75,9 @@ export function TagToJSON(value?: Tag | null): any {
76
75
  }
77
76
  return {
78
77
 
78
+ 'editable': value.editable,
79
79
  'key': value.key,
80
80
  'value': value.value,
81
- 'editable': value.editable,
82
81
  };
83
82
  }
84
83
 
@@ -13,6 +13,13 @@
13
13
  */
14
14
 
15
15
  import { exists, mapValues } from '../runtime';
16
+ import type { Tag } from './Tag';
17
+ import {
18
+ TagFromJSON,
19
+ TagFromJSONTyped,
20
+ TagToJSON,
21
+ } from './Tag';
22
+
16
23
  /**
17
24
  *
18
25
  * @export
@@ -43,6 +50,12 @@ export interface UploadDatasetRequest {
43
50
  * @memberof UploadDatasetRequest
44
51
  */
45
52
  expectedFiles: Array<string>;
53
+ /**
54
+ * List of tags to apply to the dataset
55
+ * @type {Array<Tag>}
56
+ * @memberof UploadDatasetRequest
57
+ */
58
+ tags?: Array<Tag> | null;
46
59
  }
47
60
 
48
61
  /**
@@ -71,6 +84,7 @@ export function UploadDatasetRequestFromJSONTyped(json: any, ignoreDiscriminator
71
84
  'description': !exists(json, 'description') ? undefined : json['description'],
72
85
  'processId': json['processId'],
73
86
  'expectedFiles': json['expectedFiles'],
87
+ 'tags': !exists(json, 'tags') ? undefined : (json['tags'] === null ? null : (json['tags'] as Array<any>).map(TagFromJSON)),
74
88
  };
75
89
  }
76
90
 
@@ -87,6 +101,7 @@ export function UploadDatasetRequestToJSON(value?: UploadDatasetRequest | null):
87
101
  'description': value.description,
88
102
  'processId': value.processId,
89
103
  'expectedFiles': value.expectedFiles,
104
+ 'tags': value.tags === undefined ? undefined : (value.tags === null ? null : (value.tags as Array<any>).map(TagToJSON)),
90
105
  };
91
106
  }
92
107
 
@@ -59,6 +59,7 @@ export * from './GovernanceExpiry';
59
59
  export * from './GovernanceExpiryType';
60
60
  export * from './GovernanceFile';
61
61
  export * from './GovernanceFileAccessRequest';
62
+ export * from './GovernanceFileInput';
62
63
  export * from './GovernanceFileType';
63
64
  export * from './GovernanceRequirement';
64
65
  export * from './GovernanceScope';