export function routeData({ params }: RouteDataArgs) {
return createServerData$(
async ([_, id], { request }) => {
const user = await authenticator.isAuthenticated(request, {
failureRedirect: "/",
});
if (!user.isAdmin) {
throw redirect("/login");
}
return prisma.organisation.findUniqueOrThrow({
where: { id },
});
},
{ key: () => ["organisation", params.orgId] }
);
}
export default function AdminOrganisations() {
const organisation = useRouteData<typeof routeData>();
return (
<>
<Header>{organisation().name}</Header>
<Container>...</Container>
</>
);
}
export function routeData({ params }: RouteDataArgs) {
return createServerData$(
async ([_, id], { request }) => {
const user = await authenticator.isAuthenticated(request, {
failureRedirect: "/",
});
if (!user.isAdmin) {
throw redirect("/login");
}
return prisma.organisation.findUniqueOrThrow({
where: { id },
});
},
{ key: () => ["organisation", params.orgId] }
);
}
export default function AdminOrganisations() {
const organisation = useRouteData<typeof routeData>();
return (
<>
<Header>{organisation().name}</Header>
<Container>...</Container>
</>
);
}