72 lines
1.6 KiB
JavaScript
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;
|