diff --git a/api/openapi.json b/api/openapi.json index 26de56f..cb39802 100644 --- a/api/openapi.json +++ b/api/openapi.json @@ -1983,7 +1983,7 @@ "schema": { "type": "object", "properties": { - "admins": { + "managed": { "type": "array", "items": { "$ref": "#/components/schemas/Admin" diff --git a/apps/app/src/lib/admin/Modal.svelte b/apps/app/src/lib/admin/Modal.svelte index bebad99..181e149 100644 --- a/apps/app/src/lib/admin/Modal.svelte +++ b/apps/app/src/lib/admin/Modal.svelte @@ -29,29 +29,29 @@ }>(); let managed_profiles_list: components['schemas']['Admin'][] = $state([]); - function fetchManagedProfiles() { - fetch(`/api/managed_profiles`, { - method: 'GET', - headers: { - 'Content-Type': 'application/json' - } - }) - .then((response) => { - if (!response.ok) { - console.log('Cannot get managed profiles, status: ' + response.status); - return; + async function fetchManagedProfiles() { + try { + const response = await fetch(`/api/managed_profiles`, { + method: 'GET', + headers: { + 'Content-Type': 'application/json' } - - return response.json(); - }) - .then((data) => { - if (data) { - managed_profiles_list = [...(data as components['schemas']['Admin'][])]; - } - }) - .catch((error) => { - console.error('Error fetching managed profiles:', error); }); + + if (!response.ok || response.status !== 200) { + console.log('Cannot get managed profiles, status: ' + response.status); + return; + } + + const data = await response.json(); + managed_profiles_list = [ + ...(( + data as operations['getManagedProfiles']['responses']['200']['content']['application/json'] + ).managed ?? []) + ]; + } catch (error) { + console.error('Error fetching managed profiles:', error); + } } fetchManagedProfiles(); @@ -66,7 +66,11 @@ .then((response) => { if (response.ok) { onChange(); - managed_profiles_list = managed_profiles_list.filter((profile) => profile.id !== id); + managed_profiles_list.forEach((profile) => { + if (profile.id === id) { + profile.label = ['DeletedPerson']; + } + }); return; } else { alert('Error deleting person'); @@ -110,33 +114,37 @@ {#each managed_profiles_list as profile}
  • -
    {profile.first_name + ' ' + profile.last_name}
    {profile.id}
    -
    - {admin() + ' ' + from_time().toLowerCase() + ': ' + profile.adminSince} -
    -
    {profile.label![0]}
    +
    {profile.first_name + ' ' + profile.last_name}
    + {#if false} +
    +
    + {admin() + ' ' + from_time().toLowerCase() + ': ' + profile.adminSince} +
    +
    {profile.label![0]}
    +
    + + + {/if} - - {#if profile.label?.includes('DeletedPerson')} {:else}