fix worksapce
This commit is contained in:
@@ -1,40 +1,13 @@
|
||||
import type { Route } from './+types/route'
|
||||
|
||||
import { redirect } from 'react-router'
|
||||
|
||||
import { userContext } from '@repo/auth/context'
|
||||
import { workspaceMiddleware } from '@/middleware/workspace'
|
||||
import { authMiddleware } from '@repo/auth/middleware/auth'
|
||||
import { request as req } from '@repo/util/request'
|
||||
|
||||
export const middleware: Route.MiddlewareFunction[] = [authMiddleware]
|
||||
export const middleware: Route.MiddlewareFunction[] = [
|
||||
authMiddleware,
|
||||
workspaceMiddleware
|
||||
]
|
||||
|
||||
type Response = {
|
||||
items: { sk: string }[]
|
||||
preferred_org_id?: string
|
||||
}
|
||||
|
||||
export async function loader({ context, request }: Route.ActionArgs) {
|
||||
const user = context.get(userContext)!
|
||||
|
||||
const r = await req({
|
||||
url: `/users/${user.sub}/orgs`,
|
||||
request,
|
||||
context
|
||||
})
|
||||
|
||||
if (!r.ok) {
|
||||
throw new Response(await r.text(), { status: r.status })
|
||||
}
|
||||
|
||||
const { items = [], preferred_org_id } = (await r.json()) as Response
|
||||
const { sk } = preferred_org_id
|
||||
? (items.find((item) => item.sk === `ORG#${preferred_org_id}`) ?? items[0])
|
||||
: items[0]
|
||||
|
||||
if (sk) {
|
||||
const [_, id] = sk.split('#')
|
||||
throw redirect(`/${id}/main`)
|
||||
}
|
||||
|
||||
throw new Response(null, { status: 401 })
|
||||
export async function loader({}: Route.ActionArgs) {
|
||||
return {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user