+export const getResourceWithEditableStatus = <T extends GroupResource & EditableResource>(id: string, userUuid?: string) =>
+ (state: ResourcesState): T | undefined => {
+ if (state[id] === undefined) { return; }
+
+ const resource = JSON.parse(JSON.stringify(state[id])) as T;
+
+ if (resource) {
+ if (resource.canWrite === undefined) {
+ resource.isEditable = (state[resource.ownerUuid] as GroupResource)?.canWrite;
+ } else {
+ resource.isEditable = resource.canWrite;
+ }
+ }
+
+ return resource;
+ };
+