@cirrobio/api-client 0.1.3 → 0.1.5

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.
@@ -28,6 +28,7 @@ src/models/BillingAccountRequest.ts
28
28
  src/models/BillingMethod.ts
29
29
  src/models/BudgetPeriod.ts
30
30
  src/models/CloudAccount.ts
31
+ src/models/CloudAccountType.ts
31
32
  src/models/ColumnDefinition.ts
32
33
  src/models/Contact.ts
33
34
  src/models/CreateNotebookInstanceRequest.ts
@@ -95,6 +96,8 @@ src/models/UpdateUserRequest.ts
95
96
  src/models/UploadDatasetCreateResponse.ts
96
97
  src/models/UploadDatasetRequest.ts
97
98
  src/models/User.ts
99
+ src/models/UserDetail.ts
100
+ src/models/UserProjectAssignment.ts
98
101
  src/models/ValidateFileRequirementsRequest.ts
99
102
  src/models/index.ts
100
103
  src/runtime.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.1.3 --save
39
+ npm install @cirrobio/api-client@0.1.5 --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 { InviteUserRequest, InviteUserResponse, UpdateUserRequest, User } from '../models/index';
13
+ import type { InviteUserRequest, InviteUserResponse, UpdateUserRequest, User, UserDetail } from '../models/index';
14
14
  export interface GetUserRequest {
15
15
  username: string;
16
16
  }
@@ -20,6 +20,9 @@ export interface GetUsersRequest {
20
20
  export interface InviteUserOperationRequest {
21
21
  inviteUserRequest: InviteUserRequest;
22
22
  }
23
+ export interface SignOutUserRequest {
24
+ username: string;
25
+ }
23
26
  export interface UpdateUserOperationRequest {
24
27
  username: string;
25
28
  updateUserRequest: UpdateUserRequest;
@@ -32,12 +35,12 @@ export declare class UsersApi extends runtime.BaseAPI {
32
35
  * Get user information
33
36
  * Get user
34
37
  */
35
- getUserRaw(requestParameters: GetUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<User>>;
38
+ getUserRaw(requestParameters: GetUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UserDetail>>;
36
39
  /**
37
40
  * Get user information
38
41
  * Get user
39
42
  */
40
- getUser(requestParameters: GetUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<User>;
43
+ getUser(requestParameters: GetUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UserDetail>;
41
44
  /**
42
45
  * Gets a list of users matching the username pattern
43
46
  * List users
@@ -58,6 +61,16 @@ export declare class UsersApi extends runtime.BaseAPI {
58
61
  * Invite user
59
62
  */
60
63
  inviteUser(requestParameters: InviteUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<InviteUserResponse>;
64
+ /**
65
+ * Signs user out from all sessions
66
+ * Sign out user
67
+ */
68
+ signOutUserRaw(requestParameters: SignOutUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
69
+ /**
70
+ * Signs user out from all sessions
71
+ * Sign out user
72
+ */
73
+ signOutUser(requestParameters: SignOutUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
61
74
  /**
62
75
  * Update user information
63
76
  * Update user
@@ -107,7 +107,7 @@ var UsersApi = /** @class */ (function (_super) {
107
107
  }, initOverrides)];
108
108
  case 3:
109
109
  response = _a.sent();
110
- return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return (0, index_1.UserFromJSON)(jsonValue); })];
110
+ return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return (0, index_1.UserDetailFromJSON)(jsonValue); })];
111
111
  }
112
112
  });
113
113
  });
@@ -245,6 +245,59 @@ var UsersApi = /** @class */ (function (_super) {
245
245
  });
246
246
  });
247
247
  };
248
+ /**
249
+ * Signs user out from all sessions
250
+ * Sign out user
251
+ */
252
+ UsersApi.prototype.signOutUserRaw = function (requestParameters, initOverrides) {
253
+ return __awaiter(this, void 0, void 0, function () {
254
+ var queryParameters, headerParameters, token, tokenString, response;
255
+ return __generator(this, function (_a) {
256
+ switch (_a.label) {
257
+ case 0:
258
+ if (requestParameters.username === null || requestParameters.username === undefined) {
259
+ throw new runtime.RequiredError('username', 'Required parameter requestParameters.username was null or undefined when calling signOutUser.');
260
+ }
261
+ queryParameters = {};
262
+ headerParameters = {};
263
+ if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
264
+ token = this.configuration.accessToken;
265
+ return [4 /*yield*/, token("accessToken", [])];
266
+ case 1:
267
+ tokenString = _a.sent();
268
+ if (tokenString) {
269
+ headerParameters["Authorization"] = "Bearer ".concat(tokenString);
270
+ }
271
+ _a.label = 2;
272
+ case 2: return [4 /*yield*/, this.request({
273
+ path: "/users/{username}:signOut".replace("{".concat("username", "}"), encodeURIComponent(String(requestParameters.username))),
274
+ method: 'PUT',
275
+ headers: headerParameters,
276
+ query: queryParameters,
277
+ }, initOverrides)];
278
+ case 3:
279
+ response = _a.sent();
280
+ return [2 /*return*/, new runtime.VoidApiResponse(response)];
281
+ }
282
+ });
283
+ });
284
+ };
285
+ /**
286
+ * Signs user out from all sessions
287
+ * Sign out user
288
+ */
289
+ UsersApi.prototype.signOutUser = function (requestParameters, initOverrides) {
290
+ return __awaiter(this, void 0, void 0, function () {
291
+ return __generator(this, function (_a) {
292
+ switch (_a.label) {
293
+ case 0: return [4 /*yield*/, this.signOutUserRaw(requestParameters, initOverrides)];
294
+ case 1:
295
+ _a.sent();
296
+ return [2 /*return*/];
297
+ }
298
+ });
299
+ });
300
+ };
248
301
  /**
249
302
  * Update user information
250
303
  * Update user
@@ -52,7 +52,7 @@ export interface AuditEvent {
52
52
  */
53
53
  eventDetail?: {
54
54
  [key: string]: any;
55
- };
55
+ } | null;
56
56
  /**
57
57
  * The changes made to the entity (if applicable)
58
58
  * @type {{ [key: string]: string; }}
@@ -60,7 +60,7 @@ export interface AuditEvent {
60
60
  */
61
61
  changes?: {
62
62
  [key: string]: string;
63
- };
63
+ } | null;
64
64
  /**
65
65
  * The username of the user who performed the action
66
66
  * @type {string}
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { CloudAccountType } from './CloudAccountType';
12
13
  /**
13
14
  *
14
15
  * @export
@@ -28,11 +29,17 @@ export interface CloudAccount {
28
29
  */
29
30
  accountName?: string;
30
31
  /**
31
- * AWS Region Code
32
+ * AWS Region Code (defaults to region of Cirro app)
32
33
  * @type {string}
33
34
  * @memberof CloudAccount
34
35
  */
35
36
  regionName?: string;
37
+ /**
38
+ *
39
+ * @type {CloudAccountType}
40
+ * @memberof CloudAccount
41
+ */
42
+ accountType: CloudAccountType;
36
43
  }
37
44
  /**
38
45
  * Check if a given object implements the CloudAccount interface.
@@ -15,11 +15,13 @@
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.CloudAccountToJSON = exports.CloudAccountFromJSONTyped = exports.CloudAccountFromJSON = exports.instanceOfCloudAccount = void 0;
17
17
  var runtime_1 = require("../runtime");
18
+ var CloudAccountType_1 = require("./CloudAccountType");
18
19
  /**
19
20
  * Check if a given object implements the CloudAccount interface.
20
21
  */
21
22
  function instanceOfCloudAccount(value) {
22
23
  var isInstance = true;
24
+ isInstance = isInstance && "accountType" in value;
23
25
  return isInstance;
24
26
  }
25
27
  exports.instanceOfCloudAccount = instanceOfCloudAccount;
@@ -35,6 +37,7 @@ function CloudAccountFromJSONTyped(json, ignoreDiscriminator) {
35
37
  'accountId': !(0, runtime_1.exists)(json, 'accountId') ? undefined : json['accountId'],
36
38
  'accountName': !(0, runtime_1.exists)(json, 'accountName') ? undefined : json['accountName'],
37
39
  'regionName': !(0, runtime_1.exists)(json, 'regionName') ? undefined : json['regionName'],
40
+ 'accountType': (0, CloudAccountType_1.CloudAccountTypeFromJSON)(json['accountType']),
38
41
  };
39
42
  }
40
43
  exports.CloudAccountFromJSONTyped = CloudAccountFromJSONTyped;
@@ -49,6 +52,7 @@ function CloudAccountToJSON(value) {
49
52
  'accountId': value.accountId,
50
53
  'accountName': value.accountName,
51
54
  'regionName': value.regionName,
55
+ 'accountType': (0, CloudAccountType_1.CloudAccountTypeToJSON)(value.accountType),
52
56
  };
53
57
  }
54
58
  exports.CloudAccountToJSON = CloudAccountToJSON;
@@ -0,0 +1,23 @@
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
+ /**
13
+ * Type of cloud account (Hosted by Cirro, or Bring your own account)
14
+ * @export
15
+ * @enum {string}
16
+ */
17
+ export declare enum CloudAccountType {
18
+ Hosted = "HOSTED",
19
+ Byoa = "BYOA"
20
+ }
21
+ export declare function CloudAccountTypeFromJSON(json: any): CloudAccountType;
22
+ export declare function CloudAccountTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): CloudAccountType;
23
+ export declare function CloudAccountTypeToJSON(value?: CloudAccountType | null): any;
@@ -0,0 +1,38 @@
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.CloudAccountTypeToJSON = exports.CloudAccountTypeFromJSONTyped = exports.CloudAccountTypeFromJSON = exports.CloudAccountType = void 0;
17
+ /**
18
+ * Type of cloud account (Hosted by Cirro, or Bring your own account)
19
+ * @export
20
+ * @enum {string}
21
+ */
22
+ var CloudAccountType;
23
+ (function (CloudAccountType) {
24
+ CloudAccountType["Hosted"] = "HOSTED";
25
+ CloudAccountType["Byoa"] = "BYOA";
26
+ })(CloudAccountType = exports.CloudAccountType || (exports.CloudAccountType = {}));
27
+ function CloudAccountTypeFromJSON(json) {
28
+ return CloudAccountTypeFromJSONTyped(json, false);
29
+ }
30
+ exports.CloudAccountTypeFromJSON = CloudAccountTypeFromJSON;
31
+ function CloudAccountTypeFromJSONTyped(json, ignoreDiscriminator) {
32
+ return json;
33
+ }
34
+ exports.CloudAccountTypeFromJSONTyped = CloudAccountTypeFromJSONTyped;
35
+ function CloudAccountTypeToJSON(value) {
36
+ return value;
37
+ }
38
+ exports.CloudAccountTypeToJSON = CloudAccountTypeToJSON;
@@ -77,11 +77,11 @@ export interface ProjectSettings {
77
77
  */
78
78
  retentionPolicyDays?: number;
79
79
  /**
80
- *
80
+ * List of service connections to enable
81
81
  * @type {Array<string>}
82
82
  * @memberof ProjectSettings
83
83
  */
84
- serviceConnections: Array<string>;
84
+ serviceConnections?: Array<string>;
85
85
  /**
86
86
  * VPC that the compute environment will use
87
87
  * @type {string}
@@ -89,11 +89,17 @@ export interface ProjectSettings {
89
89
  */
90
90
  vpcId?: string | null;
91
91
  /**
92
- *
92
+ * List of subnets that the compute environment will use
93
93
  * @type {Array<string>}
94
94
  * @memberof ProjectSettings
95
95
  */
96
96
  batchSubnets?: Array<string> | null;
97
+ /**
98
+ * List of subnets that the sagemaker instances will use
99
+ * @type {Array<string>}
100
+ * @memberof ProjectSettings
101
+ */
102
+ sagemakerSubnets?: Array<string> | null;
97
103
  /**
98
104
  * KMS Key ARN to encrypt S3 objects, if not provided, default bucket encryption will be used
99
105
  * @type {string}
@@ -23,7 +23,6 @@ function instanceOfProjectSettings(value) {
23
23
  var isInstance = true;
24
24
  isInstance = isInstance && "budgetAmount" in value;
25
25
  isInstance = isInstance && "budgetPeriod" in value;
26
- isInstance = isInstance && "serviceConnections" in value;
27
26
  return isInstance;
28
27
  }
29
28
  exports.instanceOfProjectSettings = instanceOfProjectSettings;
@@ -46,9 +45,10 @@ function ProjectSettingsFromJSONTyped(json, ignoreDiscriminator) {
46
45
  'maxF1VCPU': !(0, runtime_1.exists)(json, 'maxF1VCPU') ? undefined : json['maxF1VCPU'],
47
46
  'maxSpotVCPU': !(0, runtime_1.exists)(json, 'maxSpotVCPU') ? undefined : json['maxSpotVCPU'],
48
47
  'retentionPolicyDays': !(0, runtime_1.exists)(json, 'retentionPolicyDays') ? undefined : json['retentionPolicyDays'],
49
- 'serviceConnections': json['serviceConnections'],
48
+ 'serviceConnections': !(0, runtime_1.exists)(json, 'serviceConnections') ? undefined : json['serviceConnections'],
50
49
  'vpcId': !(0, runtime_1.exists)(json, 'vpcId') ? undefined : json['vpcId'],
51
50
  'batchSubnets': !(0, runtime_1.exists)(json, 'batchSubnets') ? undefined : json['batchSubnets'],
51
+ 'sagemakerSubnets': !(0, runtime_1.exists)(json, 'sagemakerSubnets') ? undefined : json['sagemakerSubnets'],
52
52
  'kmsArn': !(0, runtime_1.exists)(json, 'kmsArn') ? undefined : json['kmsArn'],
53
53
  };
54
54
  }
@@ -74,6 +74,7 @@ function ProjectSettingsToJSON(value) {
74
74
  'serviceConnections': value.serviceConnections,
75
75
  'vpcId': value.vpcId,
76
76
  'batchSubnets': value.batchSubnets,
77
+ 'sagemakerSubnets': value.sagemakerSubnets,
77
78
  'kmsArn': value.kmsArn,
78
79
  };
79
80
  }
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- * Status of last sync
13
+ * Status of the last sync operation
14
14
  * @export
15
15
  * @enum {string}
16
16
  */
@@ -15,7 +15,7 @@
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.SyncStatusToJSON = exports.SyncStatusFromJSONTyped = exports.SyncStatusFromJSON = exports.SyncStatus = void 0;
17
17
  /**
18
- * Status of last sync
18
+ * Status of the last sync operation
19
19
  * @export
20
20
  * @enum {string}
21
21
  */
@@ -0,0 +1,80 @@
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 { UserProjectAssignment } from './UserProjectAssignment';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface UserDetail
17
+ */
18
+ export interface UserDetail {
19
+ /**
20
+ *
21
+ * @type {string}
22
+ * @memberof UserDetail
23
+ */
24
+ username: string;
25
+ /**
26
+ *
27
+ * @type {string}
28
+ * @memberof UserDetail
29
+ */
30
+ name: string;
31
+ /**
32
+ *
33
+ * @type {string}
34
+ * @memberof UserDetail
35
+ */
36
+ phone: string;
37
+ /**
38
+ *
39
+ * @type {string}
40
+ * @memberof UserDetail
41
+ */
42
+ email: string;
43
+ /**
44
+ *
45
+ * @type {string}
46
+ * @memberof UserDetail
47
+ */
48
+ organization: string;
49
+ /**
50
+ *
51
+ * @type {string}
52
+ * @memberof UserDetail
53
+ */
54
+ department: string;
55
+ /**
56
+ *
57
+ * @type {string}
58
+ * @memberof UserDetail
59
+ */
60
+ invitedBy: string;
61
+ /**
62
+ *
63
+ * @type {Date}
64
+ * @memberof UserDetail
65
+ */
66
+ signUpTime?: Date | null;
67
+ /**
68
+ *
69
+ * @type {Array<UserProjectAssignment>}
70
+ * @memberof UserDetail
71
+ */
72
+ projectAssignments: Array<UserProjectAssignment>;
73
+ }
74
+ /**
75
+ * Check if a given object implements the UserDetail interface.
76
+ */
77
+ export declare function instanceOfUserDetail(value: object): boolean;
78
+ export declare function UserDetailFromJSON(json: any): UserDetail;
79
+ export declare function UserDetailFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserDetail;
80
+ export declare function UserDetailToJSON(value?: UserDetail | null): any;
@@ -0,0 +1,75 @@
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.UserDetailToJSON = exports.UserDetailFromJSONTyped = exports.UserDetailFromJSON = exports.instanceOfUserDetail = void 0;
17
+ var runtime_1 = require("../runtime");
18
+ var UserProjectAssignment_1 = require("./UserProjectAssignment");
19
+ /**
20
+ * Check if a given object implements the UserDetail interface.
21
+ */
22
+ function instanceOfUserDetail(value) {
23
+ var isInstance = true;
24
+ isInstance = isInstance && "username" in value;
25
+ isInstance = isInstance && "name" in value;
26
+ isInstance = isInstance && "phone" in value;
27
+ isInstance = isInstance && "email" in value;
28
+ isInstance = isInstance && "organization" in value;
29
+ isInstance = isInstance && "department" in value;
30
+ isInstance = isInstance && "invitedBy" in value;
31
+ isInstance = isInstance && "projectAssignments" in value;
32
+ return isInstance;
33
+ }
34
+ exports.instanceOfUserDetail = instanceOfUserDetail;
35
+ function UserDetailFromJSON(json) {
36
+ return UserDetailFromJSONTyped(json, false);
37
+ }
38
+ exports.UserDetailFromJSON = UserDetailFromJSON;
39
+ function UserDetailFromJSONTyped(json, ignoreDiscriminator) {
40
+ if ((json === undefined) || (json === null)) {
41
+ return json;
42
+ }
43
+ return {
44
+ 'username': json['username'],
45
+ 'name': json['name'],
46
+ 'phone': json['phone'],
47
+ 'email': json['email'],
48
+ 'organization': json['organization'],
49
+ 'department': json['department'],
50
+ 'invitedBy': json['invitedBy'],
51
+ 'signUpTime': !(0, runtime_1.exists)(json, 'signUpTime') ? undefined : (json['signUpTime'] === null ? null : new Date(json['signUpTime'])),
52
+ 'projectAssignments': (json['projectAssignments'].map(UserProjectAssignment_1.UserProjectAssignmentFromJSON)),
53
+ };
54
+ }
55
+ exports.UserDetailFromJSONTyped = UserDetailFromJSONTyped;
56
+ function UserDetailToJSON(value) {
57
+ if (value === undefined) {
58
+ return undefined;
59
+ }
60
+ if (value === null) {
61
+ return null;
62
+ }
63
+ return {
64
+ 'username': value.username,
65
+ 'name': value.name,
66
+ 'phone': value.phone,
67
+ 'email': value.email,
68
+ 'organization': value.organization,
69
+ 'department': value.department,
70
+ 'invitedBy': value.invitedBy,
71
+ 'signUpTime': value.signUpTime === undefined ? undefined : (value.signUpTime === null ? null : value.signUpTime.toISOString()),
72
+ 'projectAssignments': (value.projectAssignments.map(UserProjectAssignment_1.UserProjectAssignmentToJSON)),
73
+ };
74
+ }
75
+ exports.UserDetailToJSON = UserDetailToJSON;
@@ -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 { ProjectRole } from './ProjectRole';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface UserProjectAssignment
17
+ */
18
+ export interface UserProjectAssignment {
19
+ /**
20
+ *
21
+ * @type {string}
22
+ * @memberof UserProjectAssignment
23
+ */
24
+ projectId: string;
25
+ /**
26
+ *
27
+ * @type {ProjectRole}
28
+ * @memberof UserProjectAssignment
29
+ */
30
+ role: ProjectRole;
31
+ /**
32
+ *
33
+ * @type {string}
34
+ * @memberof UserProjectAssignment
35
+ */
36
+ createdBy: string;
37
+ /**
38
+ *
39
+ * @type {Date}
40
+ * @memberof UserProjectAssignment
41
+ */
42
+ createdAt?: Date | null;
43
+ }
44
+ /**
45
+ * Check if a given object implements the UserProjectAssignment interface.
46
+ */
47
+ export declare function instanceOfUserProjectAssignment(value: object): boolean;
48
+ export declare function UserProjectAssignmentFromJSON(json: any): UserProjectAssignment;
49
+ export declare function UserProjectAssignmentFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserProjectAssignment;
50
+ export declare function UserProjectAssignmentToJSON(value?: UserProjectAssignment | 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.UserProjectAssignmentToJSON = exports.UserProjectAssignmentFromJSONTyped = exports.UserProjectAssignmentFromJSON = exports.instanceOfUserProjectAssignment = void 0;
17
+ var runtime_1 = require("../runtime");
18
+ var ProjectRole_1 = require("./ProjectRole");
19
+ /**
20
+ * Check if a given object implements the UserProjectAssignment interface.
21
+ */
22
+ function instanceOfUserProjectAssignment(value) {
23
+ var isInstance = true;
24
+ isInstance = isInstance && "projectId" in value;
25
+ isInstance = isInstance && "role" in value;
26
+ isInstance = isInstance && "createdBy" in value;
27
+ return isInstance;
28
+ }
29
+ exports.instanceOfUserProjectAssignment = instanceOfUserProjectAssignment;
30
+ function UserProjectAssignmentFromJSON(json) {
31
+ return UserProjectAssignmentFromJSONTyped(json, false);
32
+ }
33
+ exports.UserProjectAssignmentFromJSON = UserProjectAssignmentFromJSON;
34
+ function UserProjectAssignmentFromJSONTyped(json, ignoreDiscriminator) {
35
+ if ((json === undefined) || (json === null)) {
36
+ return json;
37
+ }
38
+ return {
39
+ 'projectId': json['projectId'],
40
+ 'role': (0, ProjectRole_1.ProjectRoleFromJSON)(json['role']),
41
+ 'createdBy': json['createdBy'],
42
+ 'createdAt': !(0, runtime_1.exists)(json, 'createdAt') ? undefined : (json['createdAt'] === null ? null : new Date(json['createdAt'])),
43
+ };
44
+ }
45
+ exports.UserProjectAssignmentFromJSONTyped = UserProjectAssignmentFromJSONTyped;
46
+ function UserProjectAssignmentToJSON(value) {
47
+ if (value === undefined) {
48
+ return undefined;
49
+ }
50
+ if (value === null) {
51
+ return null;
52
+ }
53
+ return {
54
+ 'projectId': value.projectId,
55
+ 'role': (0, ProjectRole_1.ProjectRoleToJSON)(value.role),
56
+ 'createdBy': value.createdBy,
57
+ 'createdAt': value.createdAt === undefined ? undefined : (value.createdAt === null ? null : value.createdAt.toISOString()),
58
+ };
59
+ }
60
+ exports.UserProjectAssignmentToJSON = UserProjectAssignmentToJSON;
@@ -8,6 +8,7 @@ export * from './BillingAccountRequest';
8
8
  export * from './BillingMethod';
9
9
  export * from './BudgetPeriod';
10
10
  export * from './CloudAccount';
11
+ export * from './CloudAccountType';
11
12
  export * from './ColumnDefinition';
12
13
  export * from './Contact';
13
14
  export * from './CreateNotebookInstanceRequest';
@@ -75,4 +76,6 @@ export * from './UpdateUserRequest';
75
76
  export * from './UploadDatasetCreateResponse';
76
77
  export * from './UploadDatasetRequest';
77
78
  export * from './User';
79
+ export * from './UserDetail';
80
+ export * from './UserProjectAssignment';
78
81
  export * from './ValidateFileRequirementsRequest';
@@ -26,6 +26,7 @@ __exportStar(require("./BillingAccountRequest"), exports);
26
26
  __exportStar(require("./BillingMethod"), exports);
27
27
  __exportStar(require("./BudgetPeriod"), exports);
28
28
  __exportStar(require("./CloudAccount"), exports);
29
+ __exportStar(require("./CloudAccountType"), exports);
29
30
  __exportStar(require("./ColumnDefinition"), exports);
30
31
  __exportStar(require("./Contact"), exports);
31
32
  __exportStar(require("./CreateNotebookInstanceRequest"), exports);
@@ -93,4 +94,6 @@ __exportStar(require("./UpdateUserRequest"), exports);
93
94
  __exportStar(require("./UploadDatasetCreateResponse"), exports);
94
95
  __exportStar(require("./UploadDatasetRequest"), exports);
95
96
  __exportStar(require("./User"), exports);
97
+ __exportStar(require("./UserDetail"), exports);
98
+ __exportStar(require("./UserProjectAssignment"), exports);
96
99
  __exportStar(require("./ValidateFileRequirementsRequest"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cirrobio/api-client",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "API client for Cirro",
5
5
  "author": "CirroBio",
6
6
  "repository": {
@@ -19,6 +19,7 @@ import type {
19
19
  InviteUserResponse,
20
20
  UpdateUserRequest,
21
21
  User,
22
+ UserDetail,
22
23
  } from '../models/index';
23
24
  import {
24
25
  InviteUserRequestFromJSON,
@@ -29,6 +30,8 @@ import {
29
30
  UpdateUserRequestToJSON,
30
31
  UserFromJSON,
31
32
  UserToJSON,
33
+ UserDetailFromJSON,
34
+ UserDetailToJSON,
32
35
  } from '../models/index';
33
36
 
34
37
  export interface GetUserRequest {
@@ -43,6 +46,10 @@ export interface InviteUserOperationRequest {
43
46
  inviteUserRequest: InviteUserRequest;
44
47
  }
45
48
 
49
+ export interface SignOutUserRequest {
50
+ username: string;
51
+ }
52
+
46
53
  export interface UpdateUserOperationRequest {
47
54
  username: string;
48
55
  updateUserRequest: UpdateUserRequest;
@@ -57,7 +64,7 @@ export class UsersApi extends runtime.BaseAPI {
57
64
  * Get user information
58
65
  * Get user
59
66
  */
60
- async getUserRaw(requestParameters: GetUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<User>> {
67
+ async getUserRaw(requestParameters: GetUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UserDetail>> {
61
68
  if (requestParameters.username === null || requestParameters.username === undefined) {
62
69
  throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling getUser.');
63
70
  }
@@ -81,14 +88,14 @@ export class UsersApi extends runtime.BaseAPI {
81
88
  query: queryParameters,
82
89
  }, initOverrides);
83
90
 
84
- return new runtime.JSONApiResponse(response, (jsonValue) => UserFromJSON(jsonValue));
91
+ return new runtime.JSONApiResponse(response, (jsonValue) => UserDetailFromJSON(jsonValue));
85
92
  }
86
93
 
87
94
  /**
88
95
  * Get user information
89
96
  * Get user
90
97
  */
91
- async getUser(requestParameters: GetUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<User> {
98
+ async getUser(requestParameters: GetUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UserDetail> {
92
99
  const response = await this.getUserRaw(requestParameters, initOverrides);
93
100
  return await response.value();
94
101
  }
@@ -180,6 +187,45 @@ export class UsersApi extends runtime.BaseAPI {
180
187
  return await response.value();
181
188
  }
182
189
 
190
+ /**
191
+ * Signs user out from all sessions
192
+ * Sign out user
193
+ */
194
+ async signOutUserRaw(requestParameters: SignOutUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
195
+ if (requestParameters.username === null || requestParameters.username === undefined) {
196
+ throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling signOutUser.');
197
+ }
198
+
199
+ const queryParameters: any = {};
200
+
201
+ const headerParameters: runtime.HTTPHeaders = {};
202
+
203
+ if (this.configuration && this.configuration.accessToken) {
204
+ const token = this.configuration.accessToken;
205
+ const tokenString = await token("accessToken", []);
206
+
207
+ if (tokenString) {
208
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
209
+ }
210
+ }
211
+ const response = await this.request({
212
+ path: `/users/{username}:signOut`.replace(`{${"username"}}`, encodeURIComponent(String(requestParameters.username))),
213
+ method: 'PUT',
214
+ headers: headerParameters,
215
+ query: queryParameters,
216
+ }, initOverrides);
217
+
218
+ return new runtime.VoidApiResponse(response);
219
+ }
220
+
221
+ /**
222
+ * Signs user out from all sessions
223
+ * Sign out user
224
+ */
225
+ async signOutUser(requestParameters: SignOutUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
226
+ await this.signOutUserRaw(requestParameters, initOverrides);
227
+ }
228
+
183
229
  /**
184
230
  * Update user information
185
231
  * Update user
@@ -54,13 +54,13 @@ export interface AuditEvent {
54
54
  * @type {{ [key: string]: any; }}
55
55
  * @memberof AuditEvent
56
56
  */
57
- eventDetail?: { [key: string]: any; };
57
+ eventDetail?: { [key: string]: any; } | null;
58
58
  /**
59
59
  * The changes made to the entity (if applicable)
60
60
  * @type {{ [key: string]: string; }}
61
61
  * @memberof AuditEvent
62
62
  */
63
- changes?: { [key: string]: string; };
63
+ changes?: { [key: string]: string; } | null;
64
64
  /**
65
65
  * The username of the user who performed the action
66
66
  * @type {string}
@@ -13,6 +13,13 @@
13
13
  */
14
14
 
15
15
  import { exists, mapValues } from '../runtime';
16
+ import type { CloudAccountType } from './CloudAccountType';
17
+ import {
18
+ CloudAccountTypeFromJSON,
19
+ CloudAccountTypeFromJSONTyped,
20
+ CloudAccountTypeToJSON,
21
+ } from './CloudAccountType';
22
+
16
23
  /**
17
24
  *
18
25
  * @export
@@ -32,11 +39,17 @@ export interface CloudAccount {
32
39
  */
33
40
  accountName?: string;
34
41
  /**
35
- * AWS Region Code
42
+ * AWS Region Code (defaults to region of Cirro app)
36
43
  * @type {string}
37
44
  * @memberof CloudAccount
38
45
  */
39
46
  regionName?: string;
47
+ /**
48
+ *
49
+ * @type {CloudAccountType}
50
+ * @memberof CloudAccount
51
+ */
52
+ accountType: CloudAccountType;
40
53
  }
41
54
 
42
55
  /**
@@ -44,6 +57,7 @@ export interface CloudAccount {
44
57
  */
45
58
  export function instanceOfCloudAccount(value: object): boolean {
46
59
  let isInstance = true;
60
+ isInstance = isInstance && "accountType" in value;
47
61
 
48
62
  return isInstance;
49
63
  }
@@ -61,6 +75,7 @@ export function CloudAccountFromJSONTyped(json: any, ignoreDiscriminator: boolea
61
75
  'accountId': !exists(json, 'accountId') ? undefined : json['accountId'],
62
76
  'accountName': !exists(json, 'accountName') ? undefined : json['accountName'],
63
77
  'regionName': !exists(json, 'regionName') ? undefined : json['regionName'],
78
+ 'accountType': CloudAccountTypeFromJSON(json['accountType']),
64
79
  };
65
80
  }
66
81
 
@@ -76,6 +91,7 @@ export function CloudAccountToJSON(value?: CloudAccount | null): any {
76
91
  'accountId': value.accountId,
77
92
  'accountName': value.accountName,
78
93
  'regionName': value.regionName,
94
+ 'accountType': CloudAccountTypeToJSON(value.accountType),
79
95
  };
80
96
  }
81
97
 
@@ -0,0 +1,37 @@
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
+ /**
16
+ * Type of cloud account (Hosted by Cirro, or Bring your own account)
17
+ * @export
18
+ * @enum {string}
19
+ */
20
+ export enum CloudAccountType {
21
+ Hosted = 'HOSTED',
22
+ Byoa = 'BYOA'
23
+ }
24
+
25
+
26
+ export function CloudAccountTypeFromJSON(json: any): CloudAccountType {
27
+ return CloudAccountTypeFromJSONTyped(json, false);
28
+ }
29
+
30
+ export function CloudAccountTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): CloudAccountType {
31
+ return json as CloudAccountType;
32
+ }
33
+
34
+ export function CloudAccountTypeToJSON(value?: CloudAccountType | null): any {
35
+ return value as any;
36
+ }
37
+
@@ -87,11 +87,11 @@ export interface ProjectSettings {
87
87
  */
88
88
  retentionPolicyDays?: number;
89
89
  /**
90
- *
90
+ * List of service connections to enable
91
91
  * @type {Array<string>}
92
92
  * @memberof ProjectSettings
93
93
  */
94
- serviceConnections: Array<string>;
94
+ serviceConnections?: Array<string>;
95
95
  /**
96
96
  * VPC that the compute environment will use
97
97
  * @type {string}
@@ -99,11 +99,17 @@ export interface ProjectSettings {
99
99
  */
100
100
  vpcId?: string | null;
101
101
  /**
102
- *
102
+ * List of subnets that the compute environment will use
103
103
  * @type {Array<string>}
104
104
  * @memberof ProjectSettings
105
105
  */
106
106
  batchSubnets?: Array<string> | null;
107
+ /**
108
+ * List of subnets that the sagemaker instances will use
109
+ * @type {Array<string>}
110
+ * @memberof ProjectSettings
111
+ */
112
+ sagemakerSubnets?: Array<string> | null;
107
113
  /**
108
114
  * KMS Key ARN to encrypt S3 objects, if not provided, default bucket encryption will be used
109
115
  * @type {string}
@@ -119,7 +125,6 @@ export function instanceOfProjectSettings(value: object): boolean {
119
125
  let isInstance = true;
120
126
  isInstance = isInstance && "budgetAmount" in value;
121
127
  isInstance = isInstance && "budgetPeriod" in value;
122
- isInstance = isInstance && "serviceConnections" in value;
123
128
 
124
129
  return isInstance;
125
130
  }
@@ -144,9 +149,10 @@ export function ProjectSettingsFromJSONTyped(json: any, ignoreDiscriminator: boo
144
149
  'maxF1VCPU': !exists(json, 'maxF1VCPU') ? undefined : json['maxF1VCPU'],
145
150
  'maxSpotVCPU': !exists(json, 'maxSpotVCPU') ? undefined : json['maxSpotVCPU'],
146
151
  'retentionPolicyDays': !exists(json, 'retentionPolicyDays') ? undefined : json['retentionPolicyDays'],
147
- 'serviceConnections': json['serviceConnections'],
152
+ 'serviceConnections': !exists(json, 'serviceConnections') ? undefined : json['serviceConnections'],
148
153
  'vpcId': !exists(json, 'vpcId') ? undefined : json['vpcId'],
149
154
  'batchSubnets': !exists(json, 'batchSubnets') ? undefined : json['batchSubnets'],
155
+ 'sagemakerSubnets': !exists(json, 'sagemakerSubnets') ? undefined : json['sagemakerSubnets'],
150
156
  'kmsArn': !exists(json, 'kmsArn') ? undefined : json['kmsArn'],
151
157
  };
152
158
  }
@@ -173,6 +179,7 @@ export function ProjectSettingsToJSON(value?: ProjectSettings | null): any {
173
179
  'serviceConnections': value.serviceConnections,
174
180
  'vpcId': value.vpcId,
175
181
  'batchSubnets': value.batchSubnets,
182
+ 'sagemakerSubnets': value.sagemakerSubnets,
176
183
  'kmsArn': value.kmsArn,
177
184
  };
178
185
  }
@@ -13,7 +13,7 @@
13
13
  */
14
14
 
15
15
  /**
16
- * Status of last sync
16
+ * Status of the last sync operation
17
17
  * @export
18
18
  * @enum {string}
19
19
  */
@@ -0,0 +1,144 @@
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 { UserProjectAssignment } from './UserProjectAssignment';
17
+ import {
18
+ UserProjectAssignmentFromJSON,
19
+ UserProjectAssignmentFromJSONTyped,
20
+ UserProjectAssignmentToJSON,
21
+ } from './UserProjectAssignment';
22
+
23
+ /**
24
+ *
25
+ * @export
26
+ * @interface UserDetail
27
+ */
28
+ export interface UserDetail {
29
+ /**
30
+ *
31
+ * @type {string}
32
+ * @memberof UserDetail
33
+ */
34
+ username: string;
35
+ /**
36
+ *
37
+ * @type {string}
38
+ * @memberof UserDetail
39
+ */
40
+ name: string;
41
+ /**
42
+ *
43
+ * @type {string}
44
+ * @memberof UserDetail
45
+ */
46
+ phone: string;
47
+ /**
48
+ *
49
+ * @type {string}
50
+ * @memberof UserDetail
51
+ */
52
+ email: string;
53
+ /**
54
+ *
55
+ * @type {string}
56
+ * @memberof UserDetail
57
+ */
58
+ organization: string;
59
+ /**
60
+ *
61
+ * @type {string}
62
+ * @memberof UserDetail
63
+ */
64
+ department: string;
65
+ /**
66
+ *
67
+ * @type {string}
68
+ * @memberof UserDetail
69
+ */
70
+ invitedBy: string;
71
+ /**
72
+ *
73
+ * @type {Date}
74
+ * @memberof UserDetail
75
+ */
76
+ signUpTime?: Date | null;
77
+ /**
78
+ *
79
+ * @type {Array<UserProjectAssignment>}
80
+ * @memberof UserDetail
81
+ */
82
+ projectAssignments: Array<UserProjectAssignment>;
83
+ }
84
+
85
+ /**
86
+ * Check if a given object implements the UserDetail interface.
87
+ */
88
+ export function instanceOfUserDetail(value: object): boolean {
89
+ let isInstance = true;
90
+ isInstance = isInstance && "username" in value;
91
+ isInstance = isInstance && "name" in value;
92
+ isInstance = isInstance && "phone" in value;
93
+ isInstance = isInstance && "email" in value;
94
+ isInstance = isInstance && "organization" in value;
95
+ isInstance = isInstance && "department" in value;
96
+ isInstance = isInstance && "invitedBy" in value;
97
+ isInstance = isInstance && "projectAssignments" in value;
98
+
99
+ return isInstance;
100
+ }
101
+
102
+ export function UserDetailFromJSON(json: any): UserDetail {
103
+ return UserDetailFromJSONTyped(json, false);
104
+ }
105
+
106
+ export function UserDetailFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserDetail {
107
+ if ((json === undefined) || (json === null)) {
108
+ return json;
109
+ }
110
+ return {
111
+
112
+ 'username': json['username'],
113
+ 'name': json['name'],
114
+ 'phone': json['phone'],
115
+ 'email': json['email'],
116
+ 'organization': json['organization'],
117
+ 'department': json['department'],
118
+ 'invitedBy': json['invitedBy'],
119
+ 'signUpTime': !exists(json, 'signUpTime') ? undefined : (json['signUpTime'] === null ? null : new Date(json['signUpTime'])),
120
+ 'projectAssignments': ((json['projectAssignments'] as Array<any>).map(UserProjectAssignmentFromJSON)),
121
+ };
122
+ }
123
+
124
+ export function UserDetailToJSON(value?: UserDetail | null): any {
125
+ if (value === undefined) {
126
+ return undefined;
127
+ }
128
+ if (value === null) {
129
+ return null;
130
+ }
131
+ return {
132
+
133
+ 'username': value.username,
134
+ 'name': value.name,
135
+ 'phone': value.phone,
136
+ 'email': value.email,
137
+ 'organization': value.organization,
138
+ 'department': value.department,
139
+ 'invitedBy': value.invitedBy,
140
+ 'signUpTime': value.signUpTime === undefined ? undefined : (value.signUpTime === null ? null : value.signUpTime.toISOString()),
141
+ 'projectAssignments': ((value.projectAssignments as Array<any>).map(UserProjectAssignmentToJSON)),
142
+ };
143
+ }
144
+
@@ -0,0 +1,99 @@
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 { ProjectRole } from './ProjectRole';
17
+ import {
18
+ ProjectRoleFromJSON,
19
+ ProjectRoleFromJSONTyped,
20
+ ProjectRoleToJSON,
21
+ } from './ProjectRole';
22
+
23
+ /**
24
+ *
25
+ * @export
26
+ * @interface UserProjectAssignment
27
+ */
28
+ export interface UserProjectAssignment {
29
+ /**
30
+ *
31
+ * @type {string}
32
+ * @memberof UserProjectAssignment
33
+ */
34
+ projectId: string;
35
+ /**
36
+ *
37
+ * @type {ProjectRole}
38
+ * @memberof UserProjectAssignment
39
+ */
40
+ role: ProjectRole;
41
+ /**
42
+ *
43
+ * @type {string}
44
+ * @memberof UserProjectAssignment
45
+ */
46
+ createdBy: string;
47
+ /**
48
+ *
49
+ * @type {Date}
50
+ * @memberof UserProjectAssignment
51
+ */
52
+ createdAt?: Date | null;
53
+ }
54
+
55
+ /**
56
+ * Check if a given object implements the UserProjectAssignment interface.
57
+ */
58
+ export function instanceOfUserProjectAssignment(value: object): boolean {
59
+ let isInstance = true;
60
+ isInstance = isInstance && "projectId" in value;
61
+ isInstance = isInstance && "role" in value;
62
+ isInstance = isInstance && "createdBy" in value;
63
+
64
+ return isInstance;
65
+ }
66
+
67
+ export function UserProjectAssignmentFromJSON(json: any): UserProjectAssignment {
68
+ return UserProjectAssignmentFromJSONTyped(json, false);
69
+ }
70
+
71
+ export function UserProjectAssignmentFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserProjectAssignment {
72
+ if ((json === undefined) || (json === null)) {
73
+ return json;
74
+ }
75
+ return {
76
+
77
+ 'projectId': json['projectId'],
78
+ 'role': ProjectRoleFromJSON(json['role']),
79
+ 'createdBy': json['createdBy'],
80
+ 'createdAt': !exists(json, 'createdAt') ? undefined : (json['createdAt'] === null ? null : new Date(json['createdAt'])),
81
+ };
82
+ }
83
+
84
+ export function UserProjectAssignmentToJSON(value?: UserProjectAssignment | null): any {
85
+ if (value === undefined) {
86
+ return undefined;
87
+ }
88
+ if (value === null) {
89
+ return null;
90
+ }
91
+ return {
92
+
93
+ 'projectId': value.projectId,
94
+ 'role': ProjectRoleToJSON(value.role),
95
+ 'createdBy': value.createdBy,
96
+ 'createdAt': value.createdAt === undefined ? undefined : (value.createdAt === null ? null : value.createdAt.toISOString()),
97
+ };
98
+ }
99
+
@@ -10,6 +10,7 @@ export * from './BillingAccountRequest';
10
10
  export * from './BillingMethod';
11
11
  export * from './BudgetPeriod';
12
12
  export * from './CloudAccount';
13
+ export * from './CloudAccountType';
13
14
  export * from './ColumnDefinition';
14
15
  export * from './Contact';
15
16
  export * from './CreateNotebookInstanceRequest';
@@ -77,4 +78,6 @@ export * from './UpdateUserRequest';
77
78
  export * from './UploadDatasetCreateResponse';
78
79
  export * from './UploadDatasetRequest';
79
80
  export * from './User';
81
+ export * from './UserDetail';
82
+ export * from './UserProjectAssignment';
80
83
  export * from './ValidateFileRequirementsRequest';