{ newGroup.closeDrawer() groupCreated = undefined }} > {#if !groupCreated}
{:else} {/if}
{#if can_write} Due to permissions cache invalidation
(ownerItem = '')}>
{#key ownerKind} {#if ownerKind == 'group'} {/if} {/key}
{/if} {#if perms} user/group {#each perms as { owner_name, role }} {owner_name} {#if can_write}
{ const role = e.detail // const wasInFolder = (folder?.owners ?? []).includes(folder) // const inAcl = ( // folder?.extra_perms ? Object.keys(folder?.extra_perms) : [] // ).includes(folder) if (role == 'admin') { await FolderService.addOwnerToFolder({ workspace: $workspaceStore ?? '', name, requestBody: { owner: owner_name } }) await GranularAclService.addGranularAcls({ workspace: $workspaceStore ?? '', path: name, kind: 'folder', requestBody: { owner: owner_name, write: true } }) } else if (role == 'writer') { await FolderService.removeOwnerToFolder({ workspace: $workspaceStore ?? '', name, requestBody: { owner: owner_name } }) await GranularAclService.addGranularAcls({ workspace: $workspaceStore ?? '', path: name, kind: 'folder', requestBody: { owner: owner_name, write: true } }) } else if (role == 'viewer') { await FolderService.removeOwnerToFolder({ workspace: $workspaceStore ?? '', name, requestBody: { owner: owner_name } }) await GranularAclService.addGranularAcls({ workspace: $workspaceStore ?? '', path: name, kind: 'folder', requestBody: { owner: owner_name, write: false } }) } loadFolder() }} >
{:else} {role} {/if} {#if can_write} {/if} {/each}
{:else}
{#each new Array(6) as _} {/each}
{/if}