* fix: restrict parts of manage navigation to admins * fix: restrict stats cards on manage home page * fix: restrict access to amount of certain stats for manage home * fix: restrict visibility of board create button * fix: restrict access to integration pages * fix: restrict access to tools pages for admins * fix: restrict access to user and group pages * test: adjust tests to match permission changes for routes * fix: remove certain pages from spotlight without admin * fix: app management not restricted
37 lines
902 B
TypeScript
37 lines
902 B
TypeScript
import { notFound } from "next/navigation";
|
|
import { Box, Title } from "@mantine/core";
|
|
|
|
import { api } from "@homarr/api/server";
|
|
import { auth } from "@homarr/auth/next";
|
|
import { getScopedI18n } from "@homarr/translation/server";
|
|
|
|
import { createMetaTitle } from "~/metadata";
|
|
import { JobsList } from "./_components/jobs-list";
|
|
|
|
export async function generateMetadata() {
|
|
const session = await auth();
|
|
if (!session?.user.permissions.includes("admin")) {
|
|
return {};
|
|
}
|
|
const t = await getScopedI18n("management");
|
|
|
|
return {
|
|
title: createMetaTitle(t("metaTitle")),
|
|
};
|
|
}
|
|
|
|
export default async function TasksPage() {
|
|
const session = await auth();
|
|
if (!session?.user.permissions.includes("admin")) {
|
|
notFound();
|
|
}
|
|
|
|
const jobs = await api.cronJobs.getJobs();
|
|
return (
|
|
<Box>
|
|
<Title mb={"md"}>Tasks</Title>
|
|
<JobsList initialJobs={jobs} />
|
|
</Box>
|
|
);
|
|
}
|