2026-05-18 17:33:45 +03:00

37 lines
1.2 KiB
JavaScript

import api from './client';
export const AuthApi = {
async login(username, password) {
const { data } = await api.post('/auth/login', { username, password });
localStorage.setItem('access_token', data.access_token);
localStorage.setItem('refresh_token', data.refresh_token);
try {
window.dispatchEvent(
new CustomEvent('auth:changed', { detail: { loggedIn: true } }),
);
} catch (error) {
console.error('Ошибка входа', error);
}
return data;
},
async refresh() {
const refresh_token = localStorage.getItem('refresh_token');
if (!refresh_token) return null;
const { data } = await api.post('/auth/refresh', { refresh_token });
localStorage.setItem('access_token', data.access_token);
localStorage.setItem('refresh_token', data.refresh_token);
return data;
},
logout() {
localStorage.removeItem('access_token');
localStorage.removeItem('refresh_token');
try {
window.dispatchEvent(
new CustomEvent('auth:changed', { detail: { loggedIn: false } }),
);
} catch (error) {
console.error('Ошибка при выходе', error);
}
},
};