Files
nat-as-server/website/js/auth-state.js
tom.hempel 06fc134299
Some checks failed
Tests / test (push) Has been cancelled
just testing the environment
2026-05-20 07:10:08 +02:00

32 lines
772 B
JavaScript

export function isLoggedIn() {
return !!localStorage.getItem('qdb_token');
}
export function getRole() {
return localStorage.getItem('qdb_role') || '';
}
export function getUser() {
return localStorage.getItem('qdb_user') || '';
}
export function canEdit() {
const r = getRole();
return r === 'admin' || r === 'supervisor';
}
export function authGuard(navigate, handler) {
return (params) => {
if (!isLoggedIn()) { navigate('#/login'); return; }
return handler(params);
};
}
export function roleGuard(navigate, roles, handler) {
return (params) => {
if (!isLoggedIn()) { navigate('#/login'); return; }
if (!roles.includes(getRole())) { navigate('#/'); return; }
return handler(params);
};
}