FPSMS-frontend
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 

27 linhas
694 B

  1. import { I18nProvider } from "@/i18n";
  2. import { authOptions } from "@/config/authConfig";
  3. import { AUTH } from "@/authorities";
  4. import { getServerSession } from "next-auth";
  5. import { redirect } from "next/navigation";
  6. export default async function ReportLayout({
  7. children,
  8. }: {
  9. children: React.ReactNode;
  10. }) {
  11. const session = await getServerSession(authOptions);
  12. const abilities = session?.user?.abilities ?? [];
  13. const canAccess =
  14. abilities.includes(AUTH.REPORT_MGMT) || abilities.includes(AUTH.ADMIN);
  15. if (!canAccess) {
  16. redirect("/dashboard");
  17. }
  18. return (
  19. <I18nProvider namespaces={["report", "navigation", "common"]}>
  20. {children}
  21. </I18nProvider>
  22. );
  23. }