diff --git a/src/lib/components/workspace/common/AccessControl.svelte b/src/lib/components/workspace/common/AccessControl.svelte index 0770b0f365..59ccb653ff 100644 --- a/src/lib/components/workspace/common/AccessControl.svelte +++ b/src/lib/components/workspace/common/AccessControl.svelte @@ -4,6 +4,7 @@ const i18n = getContext('i18n'); import { getGroups } from '$lib/apis/groups'; + import { getAllUsers } from '$lib/apis/users'; import Tooltip from '$lib/components/common/Tooltip.svelte'; import Plus from '$lib/components/icons/Plus.svelte'; import UserCircleSolid from '$lib/components/icons/UserCircleSolid.svelte'; @@ -21,6 +22,9 @@ let selectedGroupId = ''; let groups = []; + let selectedUserId = ''; + let users = []; + $: if (!sharePublic && accessControl === null) { initPublicAccess(); } @@ -43,6 +47,8 @@ onMount(async () => { groups = await getGroups(localStorage.token, true); + users = await getAllUsers(localStorage.token); + users = users?.users ?? []; if (accessControl === null) { initPublicAccess(); @@ -253,6 +259,111 @@ + + + {@const accessUsers = users.filter((user) => + (accessControl?.read?.user_ids ?? []).includes(user.id) + )} +
+
+
+
+ {$i18n.t('Users')} +
+
+ + {#if accessUsers.length > 0} +
+ {#each accessUsers as user} +
+
+
+ {user.name} {user?.email} +
+
+ +
+ + + +
+
+ {/each} +
+ {/if} + +
+
+
+
+ +
+
+
+
+
+
{/if} {/if}