Fix admin permissions bounce, prefixes APIs, and Italian UI leftovers.
Local Build and Deploy / deploy (push) Successful in 56s

Gate permissions on ACL manage + resolve super-admin from live user ranks, restore prefixes API routes, and anglicize hardcoded admin copy with nav i18n.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
SimoandCursor committed 2026-07-15 20:33:00 +02:00
1 parent 0e89d03940
commit 3403d3b19f
38 files changed
+673 -208

No files matched your search

+7 -3
View File
@@ -1,6 +1,6 @@
import { notFound, redirect } from "next/navigation";
import { AdminBreadcrumb } from "@/components/admin/admin-breadcrumb";
import { getAdminContext } from "@/lib/permissions";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
import { prisma } from "@/lib/prisma";
import { fetchEmulatorRankForEdit } from "@/lib/services/permission-ranks";
import { RankEditClient } from "./rank-edit-client";
@@ -11,8 +11,12 @@ export default async function RankEditPage({
params: Promise<{ locale: string; id: string }>;
}) {
const { id: rawId } = await params;
const { permissions } = await getAdminContext();
if (!permissions.isSuperAdmin) redirect("/admin");
const { session, permissions } = await getAdminContext();
if (
!canAccess(permissions, PERMS.PERMISSIONS_MANAGE, session.user.rank)
) {
redirect("/admin");
}
const rankId = parseInt(rawId, 10);
if (Number.isNaN(rankId)) notFound();
+7 -3
View File
@@ -1,6 +1,6 @@
import { redirect } from "next/navigation";
import { Prisma } from "@/generated/prisma/client";
import { getAdminContext } from "@/lib/permissions";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
import { prisma } from "@/lib/prisma";
import { fetchEmulatorRankSummaries } from "@/lib/services/permission-ranks";
import { PermissionsList } from "./permissions-list";
@@ -8,8 +8,12 @@ import { PermissionsList } from "./permissions-list";
export default async function PermissionsPage(_props: {
params: Promise<{ locale: string }>;
}) {
const { permissions } = await getAdminContext();
if (!permissions.isSuperAdmin) redirect("/admin");
const { session, permissions } = await getAdminContext();
if (
!canAccess(permissions, PERMS.PERMISSIONS_MANAGE, session.user.rank)
) {
redirect("/admin");
}
const ranks = await fetchEmulatorRankSummaries(prisma);