Files
teatea-pension/app/(app)/app/beds/page.tsx

37 lines
1.3 KiB
TypeScript

import { redirect } from "next/navigation";
import { getCurrentAuthContext } from "@/modules/core/server/auth";
import { hasPermission } from "@/modules/core/server/permissions";
import { readData } from "@/modules/core/server/store";
import { BedsWorkspace } from "@/modules/facilities/components/BedsWorkspace";
export default async function BedsPage(): Promise<React.ReactElement> {
const context = await getCurrentAuthContext();
if (!context) {
redirect("/login");
}
if (!hasPermission(context.permissions, "facility:read")) {
redirect("/app/dashboard");
}
const data = await readData();
const organizationId = context.organization?.id;
const rooms = organizationId ? data.rooms.filter((room) => room.organizationId === organizationId) : data.rooms;
const beds = organizationId ? data.beds.filter((bed) => bed.organizationId === organizationId) : data.beds;
const admissions = organizationId
? data.admissions.filter((admission) => admission.organizationId === organizationId)
: data.admissions;
const elders = organizationId ? data.elders.filter((elder) => elder.organizationId === organizationId) : data.elders;
return (
<BedsWorkspace
initialAdmissions={admissions}
initialBeds={beds}
initialElders={elders}
initialRooms={rooms}
permissions={context.permissions}
/>
);
}