FPSMS-frontend
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

123456789101112131415161718192021222324
  1. import { Metadata } from "next";
  2. import { getServerSession } from "next-auth";
  3. import { redirect } from "next/navigation";
  4. import { authOptions } from "@/config/authConfig";
  5. import { AUTH } from "@/authorities";
  6. export const metadata: Metadata = {
  7. title: "圖表報告",
  8. };
  9. export default async function ChartLayout({
  10. children,
  11. }: {
  12. children: React.ReactNode;
  13. }) {
  14. const session = await getServerSession(authOptions);
  15. const abilities = session?.user?.abilities ?? [];
  16. const canViewCharts =
  17. abilities.includes(AUTH.TESTING) || abilities.includes(AUTH.ADMIN);
  18. if (!canViewCharts) {
  19. redirect("/dashboard");
  20. }
  21. return <>{children}</>;
  22. }