20829: Add canWrite and canManage to group and API response dialog
authorPeter Amstutz <peter.amstutz@curii.com>
Tue, 22 Aug 2023 17:19:22 +0000 (13:19 -0400)
committerPeter Amstutz <peter.amstutz@curii.com>
Tue, 22 Aug 2023 17:19:22 +0000 (13:19 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>

src/models/group.ts
src/models/project.ts
src/models/test-utils.ts
src/store/advanced-tab/advanced-tab.tsx

index 109f38571f97b38f32efe5510967d9c3547e3a8c..df4ea6aafa3067e47342b101d70ea9e961c98d09 100644 (file)
@@ -17,6 +17,8 @@ export interface GroupResource extends TrashableResource, ResourceWithProperties
     description: string;
     writableBy: string[];
     ensure_unique_name: boolean;
+    canWrite: boolean;
+    canManage: boolean;
 }
 
 export enum GroupClass {
index 04dae4d22622a9ae44c39039167e011d7ba807a7..8dd2e716e2400cfe6c15f855f310e8a0dadb97f3 100644 (file)
@@ -5,8 +5,7 @@
 import { GroupClass, GroupResource } from "./group";
 
 export interface ProjectResource extends GroupResource {
-    frozenByUuid: null|string;
-    canManage: boolean;
+    frozenByUuid: null | string;
     groupClass: GroupClass.PROJECT | GroupClass.FILTER | GroupClass.ROLE;
 }
 
index 1e1041a1d37f5ec9bc990efd87d98870dd1bc609..a2a980bf2885ece4706889b277bd10818b9cab05 100644 (file)
@@ -25,6 +25,8 @@ export const mockGroupResource = (data: Partial<GroupResource> = {}): GroupResou
     uuid: "",
     writableBy: [],
     ensure_unique_name: true,
+    canWrite: false,
+    canManage: false,
     ...data
 });
 
index a495e89cad16f001399e3081d9801e91533b69c2..6333711783ccd00b6f83560a8c575a827b2a1bbb 100644 (file)
@@ -467,7 +467,9 @@ const collectionApiResponse = (apiResponse: CollectionResource): JSX.Element =>
 };
 
 const groupRequestApiResponse = (apiResponse: ProjectResource): JSX.Element => {
-    const { uuid, ownerUuid, createdAt, modifiedAt, modifiedByClientUuid, modifiedByUserUuid, name, description, groupClass, trashAt, isTrashed, deleteAt, properties, writableBy } = apiResponse;
+    const { uuid, ownerUuid, createdAt, modifiedAt, modifiedByClientUuid, modifiedByUserUuid, name,
+        description, groupClass, trashAt, isTrashed, deleteAt, properties, writableBy,
+        canWrite, canManage } = apiResponse;
     const response = `
 "uuid": "${uuid}",
 "owner_uuid": "${ownerUuid}",
@@ -482,6 +484,8 @@ const groupRequestApiResponse = (apiResponse: ProjectResource): JSX.Element => {
 "is_trashed": ${stringify(isTrashed)},
 "delete_at": ${stringify(deleteAt)},
 "properties": ${stringifyObject(properties)},
+"can_write": ${stringify(canWrite)},
+"can_manage": ${stringify(canManage)},
 "writable_by": ${stringifyObject(writableBy)}`;
 
     return <span style={{ marginLeft: '-15px' }}>{'{'} {response} {'\n'} <span style={{ marginLeft: '-15px' }}>{'}'}</span></span>;