2 * Parse JWT token from localStorage
3 * @returns {Object|null} Decoded JWT payload or null if invalid
5export function parseJwt(token) {
6 if (!token) return null;
8 const payload = token.split('.')[1];
9 return JSON.parse(atob(payload.replace(/-/g, '+').replace(/_/g, '/')));
16 * Get current user's role from JWT
17 * @returns {string} User role (admin, staff, msp, root) or empty string
19export function getUserRole() {
20 const token = localStorage.getItem('token');
21 const payload = parseJwt(token);
22 return payload?.role || '';
26 * Check if current user is admin (admin, msp, or root)
27 * @returns {boolean} True if user has admin privileges
29export function isAdmin() {
30 const role = getUserRole();
31 return role === 'admin' || role === 'msp' || role === 'root';
35 * Check if current user is staff
36 * @returns {boolean} True if user is staff
38export function isStaff() {
39 const role = getUserRole();
40 return role === 'staff';