From b4efd9531b41c294fcf5432c92a21aeee06d19d9 Mon Sep 17 00:00:00 2001 From: jackdisalvatore Date: Thu, 2 May 2024 10:11:18 -0500 Subject: [PATCH 1/8] select tenant event Signed-off-by: jackdisalvatore --- frontend/src/lib/components/Tenants/Tenants.svelte | 8 +++++++- frontend/src/routes/tenant/+page.svelte | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/frontend/src/lib/components/Tenants/Tenants.svelte b/frontend/src/lib/components/Tenants/Tenants.svelte index acdfc1e..dc286ad 100644 --- a/frontend/src/lib/components/Tenants/Tenants.svelte +++ b/frontend/src/lib/components/Tenants/Tenants.svelte @@ -1,5 +1,8 @@ @@ -9,7 +12,10 @@ {#each tenants as tenant} - diff --git a/frontend/src/routes/tenant/+page.svelte b/frontend/src/routes/tenant/+page.svelte index 9aa090f..ca2f705 100644 --- a/frontend/src/routes/tenant/+page.svelte +++ b/frontend/src/routes/tenant/+page.svelte @@ -4,8 +4,12 @@ const unityAuthContext = useUnityAuthContext(); const user = unityAuthContext.user; + + function selectTenant(e: CustomEvent) { + console.log(e.detail); + } {#if $user && $user.tenants} - + {/if} From 377c747b6a14d1214d3cf5919729d4487f19f62b Mon Sep 17 00:00:00 2001 From: jackdisalvatore Date: Thu, 2 May 2024 11:09:21 -0500 Subject: [PATCH 2/8] variable Signed-off-by: jackdisalvatore --- frontend/src/routes/tenant/+page.svelte | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frontend/src/routes/tenant/+page.svelte b/frontend/src/routes/tenant/+page.svelte index ca2f705..cad2634 100644 --- a/frontend/src/routes/tenant/+page.svelte +++ b/frontend/src/routes/tenant/+page.svelte @@ -5,8 +5,11 @@ const unityAuthContext = useUnityAuthContext(); const user = unityAuthContext.user; + let selectedTenant; + function selectTenant(e: CustomEvent) { - console.log(e.detail); + selectedTenant = e.detail; + console.log('Event recieved:', e.detail); } From 380dace766c1675d24fe984a1099902100de4267 Mon Sep 17 00:00:00 2001 From: jackdisalvatore Date: Thu, 2 May 2024 11:10:01 -0500 Subject: [PATCH 3/8] rename Signed-off-by: jackdisalvatore --- frontend/src/lib/services/TenantsResolver/shared.ts | 6 +++--- frontend/src/lib/services/UnityAuth/shared.ts | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/src/lib/services/TenantsResolver/shared.ts b/frontend/src/lib/services/TenantsResolver/shared.ts index dc2a763..61748d9 100644 --- a/frontend/src/lib/services/TenantsResolver/shared.ts +++ b/frontend/src/lib/services/TenantsResolver/shared.ts @@ -1,13 +1,13 @@ import { z } from 'zod'; -export const TenantsSchema = z.object({ +export const TenantSchema = z.object({ id: z.number(), name: z.string() }); -export type Tenants = z.infer; +export type Tenant = z.infer; -export const TenantsSuccessResponseSchema = z.array(TenantsSchema); +export const TenantsSuccessResponseSchema = z.array(TenantSchema); export type TenantsSuccessResponse = z.infer; diff --git a/frontend/src/lib/services/UnityAuth/shared.ts b/frontend/src/lib/services/UnityAuth/shared.ts index 3e5e9b3..b1f655d 100644 --- a/frontend/src/lib/services/UnityAuth/shared.ts +++ b/frontend/src/lib/services/UnityAuth/shared.ts @@ -1,6 +1,6 @@ import { z } from 'zod'; import type { TenantsResolver } from '../TenantsResolver/TenantsResolver'; -import { TenantsSchema } from '../TenantsResolver/shared'; +import { TenantSchema } from '../TenantsResolver/shared'; export const UnityAuthServicePropsSchema = z.object({ baseURL: z.string() @@ -15,7 +15,7 @@ export const UnityAuthLoginResponseSchema = z.object({ token_type: z.string(), expires_in: z.number(), username: z.string(), - tenants: z.array(TenantsSchema).optional() + tenants: z.array(TenantSchema).optional() }); export type UnityAuthLoginResponse = z.infer; From 897a242bd487062817894a7541bc22dee12d1c2d Mon Sep 17 00:00:00 2001 From: jackdisalvatore Date: Fri, 3 May 2024 08:41:19 -0500 Subject: [PATCH 4/8] tenant users context Signed-off-by: jackdisalvatore --- .../context/TenantUsersContext/TenantUsers.ts | 14 ++++ .../TenantUsersContext/TenantUsersContext.ts | 67 +++++++++++++++++++ .../TenantUsersContextProvider.svelte | 14 ++++ .../src/lib/services/UnityAuth/UnityAuth.ts | 13 +++- frontend/src/lib/services/UnityAuth/shared.ts | 8 +++ frontend/src/lib/utils/types.ts | 4 ++ 6 files changed, 119 insertions(+), 1 deletion(-) create mode 100644 frontend/src/lib/context/TenantUsersContext/TenantUsers.ts create mode 100644 frontend/src/lib/context/TenantUsersContext/TenantUsersContext.ts create mode 100644 frontend/src/lib/context/TenantUsersContext/TenantUsersContextProvider.svelte create mode 100644 frontend/src/lib/utils/types.ts diff --git a/frontend/src/lib/context/TenantUsersContext/TenantUsers.ts b/frontend/src/lib/context/TenantUsersContext/TenantUsers.ts new file mode 100644 index 0000000..140844d --- /dev/null +++ b/frontend/src/lib/context/TenantUsersContext/TenantUsers.ts @@ -0,0 +1,14 @@ +import { z } from 'zod'; + +const StatusSchema = z.union([z.literal('ENABLED'), z.literal('DISABLED')]); + +export const TenantUserSchema = z.object({ + id: z.number(), + email: z.string(), + password: z.string(), + status: StatusSchema, + first_name: z.string(), + last_name: z.string() +}); + +export type TenantUser = z.infer; diff --git a/frontend/src/lib/context/TenantUsersContext/TenantUsersContext.ts b/frontend/src/lib/context/TenantUsersContext/TenantUsersContext.ts new file mode 100644 index 0000000..3698726 --- /dev/null +++ b/frontend/src/lib/context/TenantUsersContext/TenantUsersContext.ts @@ -0,0 +1,67 @@ +import type { UnityAuthService } from '$lib/services/UnityAuth/UnityAuth'; +import { writable, type Readable } from 'svelte/store'; +import type { TenantUser } from './TenantUsers'; +import type { Maybe } from '$lib/utils/types'; +import { + ASYNC_IN_PROGRESS, + asAsyncFailure, + asAsyncSuccess, + type AsyncResult +} from '$lib/services/http/http'; +import { getContext, setContext } from 'svelte'; +import type { GetTenantUsersResponse } from '$lib/services/UnityAuth/shared'; +import { page } from '$app/stores'; +import type { Page } from '@sveltejs/kit'; + +const key = Symbol(); + +export type TenantUsersContext = { + selectedTenantUser: Readable>; + tenantUsersResponse: Readable>; +}; + +export function createTenantUsersContext( + unityAythService: UnityAuthService, + page: Readable, string | null>> +) { + const selectedTenantUser = writable>(); + const tenantUsersResponse = writable>(ASYNC_IN_PROGRESS); + + async function handleTenantPage() { + try { + const id = 1; // TODO + const res = await unityAythService.getTenantUsers(id); + + tenantUsersResponse.set(asAsyncSuccess(res)); + } catch (error) { + tenantUsersResponse.set(asAsyncFailure(error)); + } + } + + page.subscribe(async (page: Page, string | null>) => { + if (page.route.id?.includes('tenants')) { + await handleTenantPage(); + } + }); + + const ctx: TenantUsersContext = { + selectedTenantUser, + tenantUsersResponse + }; + + setContext(key, ctx); + + return ctx; +} + +export function useTenantUsersContext(): TenantUsersContext { + return getContext(key); +} + +export function useSelectedServiceRequestStore(): TenantUsersContext['selectedTenantUser'] { + return useTenantUsersContext().selectedTenantUser; +} + +export function useServiceRequestsResponseStore(): TenantUsersContext['tenantUsersResponse'] { + return useTenantUsersContext().tenantUsersResponse; +} diff --git a/frontend/src/lib/context/TenantUsersContext/TenantUsersContextProvider.svelte b/frontend/src/lib/context/TenantUsersContext/TenantUsersContextProvider.svelte new file mode 100644 index 0000000..645ee3a --- /dev/null +++ b/frontend/src/lib/context/TenantUsersContext/TenantUsersContextProvider.svelte @@ -0,0 +1,14 @@ + + + diff --git a/frontend/src/lib/services/UnityAuth/UnityAuth.ts b/frontend/src/lib/services/UnityAuth/UnityAuth.ts index 84c447e..74ca063 100644 --- a/frontend/src/lib/services/UnityAuth/UnityAuth.ts +++ b/frontend/src/lib/services/UnityAuth/UnityAuth.ts @@ -1,8 +1,13 @@ import type { AxiosInstance } from 'axios'; import { BaseObservable } from '../EventBus/EventBus'; -import type { CompleteLoginResponse, UnityAuthServiceProps } from './shared'; +import type { + CompleteLoginResponse, + GetTenantUsersResponse, + UnityAuthServiceProps +} from './shared'; import { CompleteLoginResponseSchema, + GetTenantUsersResponseSchema, UnityAuthLoginResponseSchema, UnityAuthServicePropsSchema } from './shared'; @@ -20,6 +25,7 @@ export type UnityAuthService = BaseObservable & { login(email: string, password: string): Promise; getLoginData(): CompleteLoginResponse | undefined; logout(): void; + getTenantUsers(id: number): Promise; }; export class UnityAuthServiceImpl @@ -91,6 +97,11 @@ export class UnityAuthServiceImpl return CompleteLoginResponseSchema.parse(JSON.parse(loginInfo)); } } + + async getTenantUsers(id: number): Promise { + const res = await this.axiosInstance.post(`/api/tenants/${id}/users`); + return GetTenantUsersResponseSchema.parse(res); + } } export function unityAuthServiceFactory(props: UnityAuthServiceProps): UnityAuthService { diff --git a/frontend/src/lib/services/UnityAuth/shared.ts b/frontend/src/lib/services/UnityAuth/shared.ts index b1f655d..d45d2b7 100644 --- a/frontend/src/lib/services/UnityAuth/shared.ts +++ b/frontend/src/lib/services/UnityAuth/shared.ts @@ -1,6 +1,7 @@ import { z } from 'zod'; import type { TenantsResolver } from '../TenantsResolver/TenantsResolver'; import { TenantSchema } from '../TenantsResolver/shared'; +import { TenantUserSchema } from '$lib/context/TenantUsersContext/TenantUsers'; export const UnityAuthServicePropsSchema = z.object({ baseURL: z.string() @@ -23,3 +24,10 @@ export type UnityAuthLoginResponse = z.infer; + +export const GetTenantUsersResponseSchema = z.array(TenantUserSchema); +export type GetTenantUsersResponse = z.infer; + +export type TenantUsersResponse = { + tenantUsers: GetTenantUsersResponse; +}; diff --git a/frontend/src/lib/utils/types.ts b/frontend/src/lib/utils/types.ts new file mode 100644 index 0000000..0622161 --- /dev/null +++ b/frontend/src/lib/utils/types.ts @@ -0,0 +1,4 @@ +export type Maybe = T | undefined | null; +export type HasId = { + id: T; +}; From 07936230f553a9d20b35a4d306ee90fb390fe5ff Mon Sep 17 00:00:00 2001 From: jackdisalvatore Date: Fri, 3 May 2024 09:39:06 -0500 Subject: [PATCH 5/8] displaying users on the page Signed-off-by: jackdisalvatore --- .../src/lib/components/Tenants/Tenants.svelte | 27 ++++++--------- .../context/TenantUsersContext/TenantUsers.ts | 10 +++--- .../TenantUsersContext/TenantUsersContext.ts | 7 ++-- frontend/src/lib/context/UnityAuthContext.ts | 3 ++ .../src/lib/services/UnityAuth/UnityAuth.ts | 19 +++++++++-- frontend/src/routes/tenant/+layout.svelte | 18 ++++++++-- frontend/src/routes/tenant/+page.svelte | 21 +++--------- .../routes/tenant/[tenant_id]/+page.svelte | 34 +++++++++++++++++++ 8 files changed, 93 insertions(+), 46 deletions(-) create mode 100644 frontend/src/routes/tenant/[tenant_id]/+page.svelte diff --git a/frontend/src/lib/components/Tenants/Tenants.svelte b/frontend/src/lib/components/Tenants/Tenants.svelte index dc286ad..6dc94fe 100644 --- a/frontend/src/lib/components/Tenants/Tenants.svelte +++ b/frontend/src/lib/components/Tenants/Tenants.svelte @@ -1,25 +1,18 @@ {#if tenants} -
- - {#each tenants as tenant} - - - - {/each} - -
+ + {#each tenants as tenant} + + + + {/each} + {/if} diff --git a/frontend/src/lib/context/TenantUsersContext/TenantUsers.ts b/frontend/src/lib/context/TenantUsersContext/TenantUsers.ts index 140844d..ac837ae 100644 --- a/frontend/src/lib/context/TenantUsersContext/TenantUsers.ts +++ b/frontend/src/lib/context/TenantUsersContext/TenantUsers.ts @@ -1,14 +1,14 @@ import { z } from 'zod'; -const StatusSchema = z.union([z.literal('ENABLED'), z.literal('DISABLED')]); +// const StatusSchema = z.union([z.literal('ENABLED'), z.literal('DISABLED')]); export const TenantUserSchema = z.object({ id: z.number(), email: z.string(), - password: z.string(), - status: StatusSchema, - first_name: z.string(), - last_name: z.string() + // password: z.string(), + // status: StatusSchema, + firstName: z.string(), + lastName: z.string() }); export type TenantUser = z.infer; diff --git a/frontend/src/lib/context/TenantUsersContext/TenantUsersContext.ts b/frontend/src/lib/context/TenantUsersContext/TenantUsersContext.ts index 3698726..42cd245 100644 --- a/frontend/src/lib/context/TenantUsersContext/TenantUsersContext.ts +++ b/frontend/src/lib/context/TenantUsersContext/TenantUsersContext.ts @@ -10,7 +10,6 @@ import { } from '$lib/services/http/http'; import { getContext, setContext } from 'svelte'; import type { GetTenantUsersResponse } from '$lib/services/UnityAuth/shared'; -import { page } from '$app/stores'; import type { Page } from '@sveltejs/kit'; const key = Symbol(); @@ -27,9 +26,9 @@ export function createTenantUsersContext( const selectedTenantUser = writable>(); const tenantUsersResponse = writable>(ASYNC_IN_PROGRESS); - async function handleTenantPage() { + async function handleTenantPage(page: Page, string | null>) { try { - const id = 1; // TODO + const id = Number(page.params.tenant_id); const res = await unityAythService.getTenantUsers(id); tenantUsersResponse.set(asAsyncSuccess(res)); @@ -40,7 +39,7 @@ export function createTenantUsersContext( page.subscribe(async (page: Page, string | null>) => { if (page.route.id?.includes('tenants')) { - await handleTenantPage(); + await handleTenantPage(page); } }); diff --git a/frontend/src/lib/context/UnityAuthContext.ts b/frontend/src/lib/context/UnityAuthContext.ts index 365e121..4d3975e 100644 --- a/frontend/src/lib/context/UnityAuthContext.ts +++ b/frontend/src/lib/context/UnityAuthContext.ts @@ -39,9 +39,12 @@ export function createUnityAuthContext(props: UnityAuthContextProviderProps & Un ...props.unityAuthServiceProps }); + unityAuthService.setAuthInfo(unityAuthService.getLoginData()); const user: Writable = writable(unityAuthService.getLoginData()); unityAuthService.subscribe('login', (args) => user.set(args)); unityAuthService.subscribe('logout', () => user.set(undefined)); + unityAuthService.subscribe('login', (args) => unityAuthService.setAuthInfo(args)); + unityAuthService.subscribe('logout', () => unityAuthService.setAuthInfo(undefined)); function alertError(unknown: unknown) { console.error(unknown); diff --git a/frontend/src/lib/services/UnityAuth/UnityAuth.ts b/frontend/src/lib/services/UnityAuth/UnityAuth.ts index 74ca063..24d92d7 100644 --- a/frontend/src/lib/services/UnityAuth/UnityAuth.ts +++ b/frontend/src/lib/services/UnityAuth/UnityAuth.ts @@ -3,6 +3,7 @@ import { BaseObservable } from '../EventBus/EventBus'; import type { CompleteLoginResponse, GetTenantUsersResponse, + UnityAuthLoginResponse, UnityAuthServiceProps } from './shared'; import { @@ -26,12 +27,14 @@ export type UnityAuthService = BaseObservable & { getLoginData(): CompleteLoginResponse | undefined; logout(): void; getTenantUsers(id: number): Promise; + setAuthInfo(authInfo: UnityAuthLoginResponse | undefined): void; }; export class UnityAuthServiceImpl extends BaseObservable implements UnityAuthService { + private authTokenInterceptorId: number = -1; private loginDataKey: string = 'loginData'; private axiosInstance: AxiosInstance; private tenantsResolver: TenantsResolver; @@ -99,8 +102,20 @@ export class UnityAuthServiceImpl } async getTenantUsers(id: number): Promise { - const res = await this.axiosInstance.post(`/api/tenants/${id}/users`); - return GetTenantUsersResponseSchema.parse(res); + const res = await this.axiosInstance.get(`/api/tenants/${id}/users`); + console.log(res.data); + return GetTenantUsersResponseSchema.parse(res.data); + } + + setAuthInfo(authInfo: UnityAuthLoginResponse | undefined): void { + if (authInfo) { + this.authTokenInterceptorId = this.axiosInstance.interceptors.request.use(function (config) { + config.headers['Authorization'] = `Bearer ${authInfo.access_token}`; + return config; + }); + } else { + this.axiosInstance.interceptors.request.eject(this.authTokenInterceptorId); + } } } diff --git a/frontend/src/routes/tenant/+layout.svelte b/frontend/src/routes/tenant/+layout.svelte index e203a32..58cba2f 100644 --- a/frontend/src/routes/tenant/+layout.svelte +++ b/frontend/src/routes/tenant/+layout.svelte @@ -1,13 +1,27 @@ - -
+ + +
diff --git a/frontend/src/routes/tenant/[tenant_id]/+page.svelte b/frontend/src/routes/tenant/[tenant_id]/+page.svelte new file mode 100644 index 0000000..b1cb914 --- /dev/null +++ b/frontend/src/routes/tenant/[tenant_id]/+page.svelte @@ -0,0 +1,34 @@ + + +
+ {#if users} +
    + {#each users as user} +
  • {user.email}
  • + {/each} +
+ {/if} +
+ + From a27baed48b3f475d80e4cd346270b10364648d6d Mon Sep 17 00:00:00 2001 From: jackdisalvatore Date: Fri, 3 May 2024 11:28:59 -0500 Subject: [PATCH 6/8] table view Signed-off-by: jackdisalvatore --- .../TenantUsersList/TenantUsersList.svelte | 41 +++++++++++++++++++ .../src/lib/services/UnityAuth/UnityAuth.ts | 1 - .../routes/tenant/[tenant_id]/+page.svelte | 19 ++++----- 3 files changed, 50 insertions(+), 11 deletions(-) create mode 100644 frontend/src/lib/components/TenantUsersList/TenantUsersList.svelte diff --git a/frontend/src/lib/components/TenantUsersList/TenantUsersList.svelte b/frontend/src/lib/components/TenantUsersList/TenantUsersList.svelte new file mode 100644 index 0000000..5a01366 --- /dev/null +++ b/frontend/src/lib/components/TenantUsersList/TenantUsersList.svelte @@ -0,0 +1,41 @@ + + + + + + + + {#each tenantUsers as user} + + {user.firstName + ' ' + user.lastName} + {user.email} + + {/each} + +
+
+
diff --git a/frontend/src/lib/services/UnityAuth/UnityAuth.ts b/frontend/src/lib/services/UnityAuth/UnityAuth.ts index 24d92d7..c2245dd 100644 --- a/frontend/src/lib/services/UnityAuth/UnityAuth.ts +++ b/frontend/src/lib/services/UnityAuth/UnityAuth.ts @@ -103,7 +103,6 @@ export class UnityAuthServiceImpl async getTenantUsers(id: number): Promise { const res = await this.axiosInstance.get(`/api/tenants/${id}/users`); - console.log(res.data); return GetTenantUsersResponseSchema.parse(res.data); } diff --git a/frontend/src/routes/tenant/[tenant_id]/+page.svelte b/frontend/src/routes/tenant/[tenant_id]/+page.svelte index b1cb914..dfcdcf3 100644 --- a/frontend/src/routes/tenant/[tenant_id]/+page.svelte +++ b/frontend/src/routes/tenant/[tenant_id]/+page.svelte @@ -2,14 +2,15 @@ import { onMount } from 'svelte'; import { useUnityAuthService } from '$lib/context/UnityAuthContext'; import { page } from '$app/stores'; - import type { TenantUser } from '$lib/context/TenantUsersContext/TenantUsers'; + import { type TenantUser } from '$lib/context/TenantUsersContext/TenantUsers'; + import TenantUsersList from '$lib/components/TenantUsersList/TenantUsersList.svelte'; const unityAuthService = useUnityAuthService(); - let users: TenantUser; + let tenantUsers: TenantUser[]; async function getTenantUserList() { - users = await unityAuthService.getTenantUsers($page.params.tenant_id); + tenantUsers = await unityAuthService.getTenantUsers($page.params.tenant_id); } onMount(async () => { @@ -17,13 +18,11 @@ }); -
- {#if users} -
    - {#each users as user} -
  • {user.email}
  • - {/each} -
+
+ {#if tenantUsers} +
+ +
{/if}
From ddf7ac0cf9d6a709c34961fa9c79d443fd7f7c21 Mon Sep 17 00:00:00 2001 From: jackdisalvatore Date: Fri, 3 May 2024 12:07:10 -0500 Subject: [PATCH 7/8] do not need these Signed-off-by: jackdisalvatore --- .../TenantUsersContext/TenantUsersContext.ts | 66 ------------------- .../TenantUsersContextProvider.svelte | 14 ---- 2 files changed, 80 deletions(-) delete mode 100644 frontend/src/lib/context/TenantUsersContext/TenantUsersContext.ts delete mode 100644 frontend/src/lib/context/TenantUsersContext/TenantUsersContextProvider.svelte diff --git a/frontend/src/lib/context/TenantUsersContext/TenantUsersContext.ts b/frontend/src/lib/context/TenantUsersContext/TenantUsersContext.ts deleted file mode 100644 index 42cd245..0000000 --- a/frontend/src/lib/context/TenantUsersContext/TenantUsersContext.ts +++ /dev/null @@ -1,66 +0,0 @@ -import type { UnityAuthService } from '$lib/services/UnityAuth/UnityAuth'; -import { writable, type Readable } from 'svelte/store'; -import type { TenantUser } from './TenantUsers'; -import type { Maybe } from '$lib/utils/types'; -import { - ASYNC_IN_PROGRESS, - asAsyncFailure, - asAsyncSuccess, - type AsyncResult -} from '$lib/services/http/http'; -import { getContext, setContext } from 'svelte'; -import type { GetTenantUsersResponse } from '$lib/services/UnityAuth/shared'; -import type { Page } from '@sveltejs/kit'; - -const key = Symbol(); - -export type TenantUsersContext = { - selectedTenantUser: Readable>; - tenantUsersResponse: Readable>; -}; - -export function createTenantUsersContext( - unityAythService: UnityAuthService, - page: Readable, string | null>> -) { - const selectedTenantUser = writable>(); - const tenantUsersResponse = writable>(ASYNC_IN_PROGRESS); - - async function handleTenantPage(page: Page, string | null>) { - try { - const id = Number(page.params.tenant_id); - const res = await unityAythService.getTenantUsers(id); - - tenantUsersResponse.set(asAsyncSuccess(res)); - } catch (error) { - tenantUsersResponse.set(asAsyncFailure(error)); - } - } - - page.subscribe(async (page: Page, string | null>) => { - if (page.route.id?.includes('tenants')) { - await handleTenantPage(page); - } - }); - - const ctx: TenantUsersContext = { - selectedTenantUser, - tenantUsersResponse - }; - - setContext(key, ctx); - - return ctx; -} - -export function useTenantUsersContext(): TenantUsersContext { - return getContext(key); -} - -export function useSelectedServiceRequestStore(): TenantUsersContext['selectedTenantUser'] { - return useTenantUsersContext().selectedTenantUser; -} - -export function useServiceRequestsResponseStore(): TenantUsersContext['tenantUsersResponse'] { - return useTenantUsersContext().tenantUsersResponse; -} diff --git a/frontend/src/lib/context/TenantUsersContext/TenantUsersContextProvider.svelte b/frontend/src/lib/context/TenantUsersContext/TenantUsersContextProvider.svelte deleted file mode 100644 index 645ee3a..0000000 --- a/frontend/src/lib/context/TenantUsersContext/TenantUsersContextProvider.svelte +++ /dev/null @@ -1,14 +0,0 @@ - - - From 7a108b8ab0fe6306e777a56eb0fd47c6a78819d5 Mon Sep 17 00:00:00 2001 From: jackdisalvatore Date: Fri, 3 May 2024 13:57:04 -0500 Subject: [PATCH 8/8] should be a number Signed-off-by: jackdisalvatore --- frontend/src/routes/tenant/[tenant_id]/+page.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/routes/tenant/[tenant_id]/+page.svelte b/frontend/src/routes/tenant/[tenant_id]/+page.svelte index dfcdcf3..97d2f52 100644 --- a/frontend/src/routes/tenant/[tenant_id]/+page.svelte +++ b/frontend/src/routes/tenant/[tenant_id]/+page.svelte @@ -10,7 +10,7 @@ let tenantUsers: TenantUser[]; async function getTenantUserList() { - tenantUsers = await unityAuthService.getTenantUsers($page.params.tenant_id); + tenantUsers = await unityAuthService.getTenantUsers(Number($page.params.tenant_id)); } onMount(async () => {