projects
/
arvados-workbench2.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '14244-context-menu-for-collection-in-trash'
[arvados-workbench2.git]
/
src
/
models
/
resource.ts
diff --git
a/src/models/resource.ts
b/src/models/resource.ts
index 3b30b08898701b6f0b4107ac5ce481995d180078..698bcf73188ec21c375a349d3f2605953bbd2074 100644
(file)
--- a/
src/models/resource.ts
+++ b/
src/models/resource.ts
@@
-10,42
+10,66
@@
export interface Resource {
modifiedByUserUuid: string;
modifiedAt: string;
href: string;
modifiedByUserUuid: string;
modifiedAt: string;
href: string;
- kind:
string
;
+ kind:
ResourceKind
;
etag: string;
}
etag: string;
}
+export interface TrashableResource extends Resource {
+ trashAt: string;
+ deleteAt: string;
+ isTrashed: boolean;
+}
+
export enum ResourceKind {
COLLECTION = "arvados#collection",
export enum ResourceKind {
COLLECTION = "arvados#collection",
+ CONTAINER = "arvados#container",
CONTAINER_REQUEST = "arvados#containerRequest",
GROUP = "arvados#group",
CONTAINER_REQUEST = "arvados#containerRequest",
GROUP = "arvados#group",
+ LOG = "arvados#log",
PROCESS = "arvados#containerRequest",
PROJECT = "arvados#group",
PROCESS = "arvados#containerRequest",
PROJECT = "arvados#group",
- WORKFLOW = "arvados#workflow",
USER = "arvados#user",
USER = "arvados#user",
+ WORKFLOW = "arvados#workflow",
+ NONE = "arvados#none"
}
export enum ResourceObjectType {
}
export enum ResourceObjectType {
- USER = 'tpzed',
+ COLLECTION = '4zz18',
+ CONTAINER = 'dz642',
+ CONTAINER_REQUEST = 'xvhdp',
GROUP = 'j7d0g',
GROUP = 'j7d0g',
- COLLECTION = '4zz18'
+ LOG = '57u5n',
+ USER = 'tpzed',
}
}
+export const RESOURCE_UUID_PATTERN = '.{5}-.{5}-.{15}';
+export const RESOURCE_UUID_REGEX = new RegExp(RESOURCE_UUID_PATTERN);
+
+export const isResourceUuid = (uuid: string) =>
+ RESOURCE_UUID_REGEX.test(uuid);
+
export const extractUuidObjectType = (uuid: string) => {
export const extractUuidObjectType = (uuid: string) => {
- const match =
/(.{5})-(.{5})-(.{15})/
.exec(uuid);
+ const match =
RESOURCE_UUID_REGEX
.exec(uuid);
return match
return match
- ? match[
2
]
+ ? match[
0].split('-')[1
]
: undefined;
};
export const extractUuidKind = (uuid: string = '') => {
const objectType = extractUuidObjectType(uuid);
: undefined;
};
export const extractUuidKind = (uuid: string = '') => {
const objectType = extractUuidObjectType(uuid);
- switch
(objectType)
{
+ switch
(objectType)
{
case ResourceObjectType.USER:
return ResourceKind.USER;
case ResourceObjectType.GROUP:
return ResourceKind.GROUP;
case ResourceObjectType.COLLECTION:
return ResourceKind.COLLECTION;
case ResourceObjectType.USER:
return ResourceKind.USER;
case ResourceObjectType.GROUP:
return ResourceKind.GROUP;
case ResourceObjectType.COLLECTION:
return ResourceKind.COLLECTION;
+ case ResourceObjectType.CONTAINER_REQUEST:
+ return ResourceKind.CONTAINER_REQUEST;
+ case ResourceObjectType.CONTAINER:
+ return ResourceKind.CONTAINER;
+ case ResourceObjectType.LOG:
+ return ResourceKind.LOG;
default:
return undefined;
}
default:
return undefined;
}