medienkompetenz-lernplattform/frontend/src/services/session.service.js
2026-02-05 22:42:30 +01:00

72 lines
1.6 KiB
JavaScript

// Session management for participant
export const sessionService = {
// Save session
saveSession: (token, participant, event) => {
localStorage.setItem('token', token);
localStorage.setItem('participant', JSON.stringify(participant));
localStorage.setItem('event', JSON.stringify(event));
},
// Get token
getToken: () => {
return localStorage.getItem('token');
},
// Get participant
getParticipant: () => {
const data = localStorage.getItem('participant');
return data ? JSON.parse(data) : null;
},
// Get event
getEvent: () => {
const data = localStorage.getItem('event');
return data ? JSON.parse(data) : null;
},
// Clear session
clearSession: () => {
localStorage.removeItem('token');
localStorage.removeItem('participant');
localStorage.removeItem('event');
},
// Check if has session
hasSession: () => {
return !!localStorage.getItem('token');
}
};
// Admin session management
export const adminSessionService = {
// Save admin session
saveSession: (token, admin) => {
localStorage.setItem('adminToken', token);
localStorage.setItem('admin', JSON.stringify(admin));
},
// Get admin token
getToken: () => {
return localStorage.getItem('adminToken');
},
// Get admin
getAdmin: () => {
const data = localStorage.getItem('admin');
return data ? JSON.parse(data) : null;
},
// Clear admin session
clearSession: () => {
localStorage.removeItem('adminToken');
localStorage.removeItem('admin');
},
// Check if has admin session
hasSession: () => {
return !!localStorage.getItem('adminToken');
}
};
export default sessionService;