import { can, requireUser } from "./auth";
import type { Department } from "./format";

/**
 * What the signed-in user may do in one department, for hiding buttons and forms.
 * The server actions check permissions again; this only keeps the screen honest.
 */
export async function pageAccess(department: Department) {
  const user = await requireUser();
  return {
    user,
    canCreate: !!user && can(user, department, "create"),
    canEdit: !!user && can(user, department, "edit"),
    canDelete: !!user && can(user, department, "delete"),
  };
}
