Added ACLs for User Management Preventing Users from Making Changes, Only Admins

This commit is contained in:
2025-09-24 14:11:38 -06:00
parent 3d3337d1b2
commit 930a897e0b
4 changed files with 46 additions and 9 deletions

View File

@@ -68,7 +68,7 @@ async function sha512(text) {
return arr.map((b) => b.toString(16).padStart(2, "0")).join("");
}
export default function UserManagement() {
export default function UserManagement({ isAdmin = false }) {
const [rows, setRows] = useState([]); // {username, display_name, role, last_login}
const [orderBy, setOrderBy] = useState("username");
const [order, setOrder] = useState("asc");
@@ -113,7 +113,7 @@ export default function UserManagement() {
}, []);
useEffect(() => {
fetchUsers();
if (!isAdmin) return;
(async () => {
try {
const resp = await fetch("/api/auth/me", { credentials: "include" });
@@ -123,7 +123,8 @@ export default function UserManagement() {
}
} catch {}
})();
}, [fetchUsers]);
fetchUsers();
}, [fetchUsers, isAdmin]);
const handleSort = (col) => {
if (orderBy === col) setOrder(order === "asc" ? "desc" : "asc");
@@ -291,6 +292,8 @@ export default function UserManagement() {
}
};
if (!isAdmin) return null;
return (
<>
<Paper sx={tablePaperSx} elevation={2}>