X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/8d40870a23aa60855ed4b1a43a0186b7d50c0d7d..2ec7fa451c0970c15c0b0d35fe70e473889f9ea3:/src/models/group.ts diff --git a/src/models/group.ts b/src/models/group.ts index 7d144a58..a0c22212 100644 --- a/src/models/group.ts +++ b/src/models/group.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import { ResourceKind, TrashableResource } from "./resource"; +import { ResourceKind, TrashableResource, ResourceObjectType, RESOURCE_UUID_REGEX } from "./resource"; export interface GroupResource extends TrashableResource { kind: ResourceKind.GROUP; @@ -19,3 +19,15 @@ export enum GroupClass { FILTER = 'filter', ROLE = 'role', } + +export const BUILTIN_GROUP_IDS = [ + 'fffffffffffffff', + 'anonymouspublic', + '000000000000000', +] + +export const isBuiltinGroup = (uuid: string) => { + const match = RESOURCE_UUID_REGEX.exec(uuid); + const parts = match ? match[0].split('-') : []; + return parts.length === 3 && parts[1] === ResourceObjectType.GROUP && BUILTIN_GROUP_IDS.includes(parts[2]); +};