This commit is contained in:
13
www/auth.js
13
www/auth.js
@@ -138,10 +138,16 @@
|
||||
return perms[resource] || "none";
|
||||
}
|
||||
|
||||
function isDistributor() {
|
||||
return currentUser?.group_id === "group_distributors";
|
||||
}
|
||||
|
||||
function canAccessPage(page) {
|
||||
if (page === "config") return isDistributor();
|
||||
|
||||
const map = {
|
||||
dashboard: "dashboard",
|
||||
config: "config",
|
||||
maps: "maps",
|
||||
missions: "missions",
|
||||
integrations: "integrations",
|
||||
};
|
||||
@@ -159,6 +165,7 @@
|
||||
window.NavApp.applyPermissions();
|
||||
}
|
||||
document.body.classList.toggle("auth-readonly-config", !canWrite("config"));
|
||||
document.body.classList.toggle("auth-readonly-maps", !canWrite("maps"));
|
||||
document.body.classList.toggle("auth-readonly-missions", !canWrite("missions"));
|
||||
document.body.classList.toggle("auth-readonly-integrations", !canWrite("integrations"));
|
||||
}
|
||||
@@ -212,6 +219,10 @@
|
||||
async function tryRestoreSession() {
|
||||
try {
|
||||
const data = await apiJson("/api/auth/me");
|
||||
if (!data?.user) {
|
||||
lockApp();
|
||||
return false;
|
||||
}
|
||||
currentUser = data.user;
|
||||
unlockApp();
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user