@cirrobio/api-client 0.1.4 → 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.
@@ -96,6 +96,8 @@ src/models/UpdateUserRequest.ts
96
96
  src/models/UploadDatasetCreateResponse.ts
97
97
  src/models/UploadDatasetRequest.ts
98
98
  src/models/User.ts
99
+ src/models/UserDetail.ts
100
+ src/models/UserProjectAssignment.ts
99
101
  src/models/ValidateFileRequirementsRequest.ts
100
102
  src/models/index.ts
101
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.4 --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
@@ -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;
@@ -76,4 +76,6 @@ export * from './UpdateUserRequest';
76
76
  export * from './UploadDatasetCreateResponse';
77
77
  export * from './UploadDatasetRequest';
78
78
  export * from './User';
79
+ export * from './UserDetail';
80
+ export * from './UserProjectAssignment';
79
81
  export * from './ValidateFileRequirementsRequest';
@@ -94,4 +94,6 @@ __exportStar(require("./UpdateUserRequest"), exports);
94
94
  __exportStar(require("./UploadDatasetCreateResponse"), exports);
95
95
  __exportStar(require("./UploadDatasetRequest"), exports);
96
96
  __exportStar(require("./User"), exports);
97
+ __exportStar(require("./UserDetail"), exports);
98
+ __exportStar(require("./UserProjectAssignment"), exports);
97
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.4",
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
@@ -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
+
@@ -78,4 +78,6 @@ export * from './UpdateUserRequest';
78
78
  export * from './UploadDatasetCreateResponse';
79
79
  export * from './UploadDatasetRequest';
80
80
  export * from './User';
81
+ export * from './UserDetail';
82
+ export * from './UserProjectAssignment';
81
83
  export * from './ValidateFileRequirementsRequest';