fix worksapce
This commit is contained in:
@@ -14,7 +14,6 @@ export type Workspace = {
|
||||
id: string
|
||||
name: string
|
||||
cnpj: string
|
||||
email: string
|
||||
}
|
||||
|
||||
export type WorkspaceContextProps = {
|
||||
@@ -25,6 +24,15 @@ export type WorkspaceContextProps = {
|
||||
test_mode: boolean
|
||||
}
|
||||
|
||||
type HttpResponse = {
|
||||
items: {
|
||||
sk: string
|
||||
name: string
|
||||
cnpj: string
|
||||
}[]
|
||||
preferred_org_id?: string
|
||||
}
|
||||
|
||||
export const workspaceContext = createContext<
|
||||
WorkspaceContextProps & { blocked: boolean }
|
||||
>()
|
||||
@@ -33,7 +41,6 @@ export const workspaceMiddleware = async (
|
||||
{ params, request, context }: LoaderFunctionArgs,
|
||||
next: () => Promise<Response>
|
||||
): Promise<Response> => {
|
||||
const org_id = params.orgid
|
||||
const user = context.get(userContext)!
|
||||
|
||||
const r = await req({
|
||||
@@ -46,17 +53,20 @@ export const workspaceMiddleware = async (
|
||||
throw new Response(await r.text(), { status: r.status })
|
||||
}
|
||||
|
||||
const { items } = (await r.json()) as { items: { sk: string }[] }
|
||||
const workspaces = items.map(({ sk, ...props }) => {
|
||||
const [, id] = sk?.split('#')
|
||||
return { ...props, id }
|
||||
}) as Workspace[]
|
||||
const { items, preferred_org_id } = (await r.json()) as HttpResponse
|
||||
const workspaces: Workspace[] = items.map(({ sk, name, cnpj }) => {
|
||||
const [, id] = sk.split('#')
|
||||
return { id, name, cnpj }
|
||||
})
|
||||
|
||||
const activeWorkspace = workspaces.find(({ id }) => id === org_id)
|
||||
const activeWorkspace = workspaces.find(({ id }) => id === params.orgid)
|
||||
|
||||
if (!activeWorkspace) {
|
||||
const { id } = workspaces[0]
|
||||
throw redirect(`/${id}/main`)
|
||||
const fallback = preferred_org_id
|
||||
? (workspaces.find(({ id }) => id === preferred_org_id) ?? workspaces[0])
|
||||
: workspaces[0]
|
||||
|
||||
throw redirect(`/${fallback.id}/main`)
|
||||
}
|
||||
|
||||
const org = (await req({
|
||||
|
||||
Reference in New Issue
Block a user