diff --git a/api.saladeaula.digital/app/routes/users/orgs.py b/api.saladeaula.digital/app/routes/users/orgs.py index bc59a54..543783a 100644 --- a/api.saladeaula.digital/app/routes/users/orgs.py +++ b/api.saladeaula.digital/app/routes/users/orgs.py @@ -31,6 +31,8 @@ def get_orgs( if 'DEFAULT' in x['sk']: preferred = x.get('org_id') else: - items.append(x) + # Post-migration (users): remove the following lines + _, org_id = x['sk'].split('#') + items.append(x | {'sk': f'ORG#{org_id}'}) return r | {'items': items} | ({'preferred_org_id': preferred} if preferred else {}) diff --git a/apps/admin.saladeaula.digital/app/middleware/workspace.ts b/apps/admin.saladeaula.digital/app/middleware/workspace.ts index 89ffff8..ff76880 100644 --- a/apps/admin.saladeaula.digital/app/middleware/workspace.ts +++ b/apps/admin.saladeaula.digital/app/middleware/workspace.ts @@ -1,4 +1,4 @@ -import { createContext, type LoaderFunctionArgs } from 'react-router' +import { createContext, redirect, type LoaderFunctionArgs } from 'react-router' import { userContext } from '@repo/auth/context' import { request as req } from '@repo/util/request' @@ -52,9 +52,12 @@ export const workspaceMiddleware = async ( return { ...props, id } }) as Workspace[] - const activeWorkspace = workspaces.find( - ({ id }) => id === org_id - ) as Workspace + const activeWorkspace = workspaces.find(({ id }) => id === org_id) + + if (!activeWorkspace) { + const { id } = workspaces[0] + throw redirect(`/${id}/main`) + } const org = (await req({ url: `/orgs/${activeWorkspace.id}`, diff --git a/apps/admin.saladeaula.digital/app/routes/_index/route.tsx b/apps/admin.saladeaula.digital/app/routes/_index/route.tsx index d95f210..f705cd7 100644 --- a/apps/admin.saladeaula.digital/app/routes/_index/route.tsx +++ b/apps/admin.saladeaula.digital/app/routes/_index/route.tsx @@ -28,7 +28,7 @@ export async function loader({ context, request }: Route.ActionArgs) { const { items = [], preferred_org_id } = (await r.json()) as Response const { sk } = preferred_org_id - ? (items.find((item) => item.sk.includes(preferred_org_id)) ?? items[0]) + ? (items.find((item) => item.sk === `ORG#${preferred_org_id}`) ?? items[0]) : items[0] if (sk) {