1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
7 ResourceWithProperties,
13 export interface GroupResource extends TrashableResource, ResourceWithProperties {
14 kind: ResourceKind.GROUP;
16 groupClass: GroupClass | null;
18 ensure_unique_name: boolean;
23 export enum GroupClass {
29 export enum BuiltinGroups {
30 ALL = 'fffffffffffffff',
31 ANON = 'anonymouspublic',
32 SYSTEM = '000000000000000',
35 export const getBuiltinGroupUuid = (cluster: string, groupName: BuiltinGroups): string => {
36 return cluster ? `${cluster}-${ResourceObjectType.GROUP}-${groupName}` : "";
39 export const isBuiltinGroup = (uuid: string) => {
40 const match = RESOURCE_UUID_REGEX.exec(uuid);
41 const parts = match ? match[0].split('-') : [];
42 return parts.length === 3 && parts[1] === ResourceObjectType.GROUP && Object.values<string>(BuiltinGroups).includes(parts[2]);
45 export const selectedFieldsOfGroup = [