projects
/
arvados-workbench2.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '18284-vm-listing' into main. Closes #18284
[arvados-workbench2.git]
/
src
/
models
/
resource.ts
diff --git
a/src/models/resource.ts
b/src/models/resource.ts
index 7e2127b2813dad8076881b8fc69a03bb82184633..fd86727782c2960b15ee78d4237da4dcc53363b4 100644
(file)
--- a/
src/models/resource.ts
+++ b/
src/models/resource.ts
@@
-14,6
+14,14
@@
export interface Resource {
etag: string;
}
etag: string;
}
+export interface ResourceWithProperties extends Resource {
+ properties: any;
+}
+
+export interface EditableResource extends Resource {
+ isEditable: boolean;
+}
+
export interface TrashableResource extends Resource {
trashAt: string;
deleteAt: string;
export interface TrashableResource extends Resource {
trashAt: string;
deleteAt: string;
@@
-21,15
+29,18
@@
export interface TrashableResource extends Resource {
}
export enum ResourceKind {
}
export enum ResourceKind {
+ API_CLIENT_AUTHORIZATION = "arvados#apiClientAuthorization",
COLLECTION = "arvados#collection",
CONTAINER = "arvados#container",
CONTAINER_REQUEST = "arvados#containerRequest",
GROUP = "arvados#group",
COLLECTION = "arvados#collection",
CONTAINER = "arvados#container",
CONTAINER_REQUEST = "arvados#containerRequest",
GROUP = "arvados#group",
+ LINK = "arvados#link",
LOG = "arvados#log",
PROCESS = "arvados#containerRequest",
PROJECT = "arvados#group",
REPOSITORY = "arvados#repository",
SSH_KEY = "arvados#authorizedKeys",
LOG = "arvados#log",
PROCESS = "arvados#containerRequest",
PROJECT = "arvados#group",
REPOSITORY = "arvados#repository",
SSH_KEY = "arvados#authorizedKeys",
+ KEEP_SERVICE = "arvados#keepService",
USER = "arvados#user",
VIRTUAL_MACHINE = "arvados#virtualMachine",
WORKFLOW = "arvados#workflow",
USER = "arvados#user",
VIRTUAL_MACHINE = "arvados#virtualMachine",
WORKFLOW = "arvados#workflow",
@@
-37,20
+48,25
@@
export enum ResourceKind {
}
export enum ResourceObjectType {
}
export enum ResourceObjectType {
+ API_CLIENT_AUTHORIZATION = 'gj3su',
COLLECTION = '4zz18',
CONTAINER = 'dz642',
CONTAINER_REQUEST = 'xvhdp',
GROUP = 'j7d0g',
COLLECTION = '4zz18',
CONTAINER = 'dz642',
CONTAINER_REQUEST = 'xvhdp',
GROUP = 'j7d0g',
+ LINK = 'o0j2j',
LOG = '57u5n',
REPOSITORY = 's0uqq',
USER = 'tpzed',
VIRTUAL_MACHINE = '2x53u',
WORKFLOW = '7fd4e',
LOG = '57u5n',
REPOSITORY = 's0uqq',
USER = 'tpzed',
VIRTUAL_MACHINE = '2x53u',
WORKFLOW = '7fd4e',
- SSH_KEY = 'fngyi'
+ SSH_KEY = 'fngyi',
+ KEEP_SERVICE = 'bi6l4'
}
}
-export const RESOURCE_UUID_PATTERN = '.{5}-.{5}-.{15}';
-export const RESOURCE_UUID_REGEX = new RegExp(RESOURCE_UUID_PATTERN);
+export const RESOURCE_UUID_PATTERN = '[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{15}';
+export const PORTABLE_DATA_HASH_PATTERN = '[a-f0-9]{32}\\+\\d+';
+export const RESOURCE_UUID_REGEX = new RegExp("^" + RESOURCE_UUID_PATTERN + "$");
+export const COLLECTION_PDH_REGEX = new RegExp("^" + PORTABLE_DATA_HASH_PATTERN + "$");
export const isResourceUuid = (uuid: string) =>
RESOURCE_UUID_REGEX.test(uuid);
export const isResourceUuid = (uuid: string) =>
RESOURCE_UUID_REGEX.test(uuid);
@@
-85,7
+101,14
@@
export const extractUuidKind = (uuid: string = '') => {
return ResourceKind.REPOSITORY;
case ResourceObjectType.SSH_KEY:
return ResourceKind.SSH_KEY;
return ResourceKind.REPOSITORY;
case ResourceObjectType.SSH_KEY:
return ResourceKind.SSH_KEY;
+ case ResourceObjectType.KEEP_SERVICE:
+ return ResourceKind.KEEP_SERVICE;
+ case ResourceObjectType.API_CLIENT_AUTHORIZATION:
+ return ResourceKind.API_CLIENT_AUTHORIZATION;
+ case ResourceObjectType.LINK:
+ return ResourceKind.LINK;
default:
default:
- return undefined;
+ const match = COLLECTION_PDH_REGEX.exec(uuid);
+ return match ? ResourceKind.COLLECTION : undefined;
}
};
}
};