refs #14348 Merge branch 'origin/14348-cluster-search'
[arvados-workbench2.git] / src / models / user.ts
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import { Resource, ResourceKind } from '~/models/resource';
6
7 export type UserPrefs = {
8     profile?: {
9         organization?: string,
10         organization_email?: string,
11         lab?: string,
12         website_url?: string,
13         role?: string
14     }
15 };
16
17 export interface User {
18     email: string;
19     firstName: string;
20     lastName: string;
21     uuid: string;
22     ownerUuid: string;
23     identityUrl: string;
24     prefs: UserPrefs;
25     isAdmin: boolean;
26 }
27
28 export const getUserFullname = (user?: User) => {
29     return user ? `${user.firstName} ${user.lastName}` : "";
30 };
31
32 export interface UserResource extends Resource {
33     kind: ResourceKind.USER;
34     email: string;
35     username: string;
36     firstName: string;
37     lastName: string;
38     identityUrl: string;
39     isAdmin: boolean;
40     prefs: UserPrefs;
41     defaultOwnerUuid: string;
42     isActive: boolean;
43     writableBy: string[];
44 }