import { logoutSession, restoreSession } from '../../auth-session.js'; import { resolveSessionState, SESSION_PHASES } from './session-policy.js'; const SESSION_RESTORE_ERROR = 'Не удалось восстановить сессию'; export async function loadAuthorizedSession( allowedRoles = [], { restoreSessionImpl = restoreSession } = {} ) { try { const session = await restoreSessionImpl(); return resolveSessionState(session, allowedRoles); } catch (error) { return { message: SESSION_RESTORE_ERROR, phase: SESSION_PHASES.error, session: null }; } } export async function logoutAndRedirect({ logoutSessionImpl = logoutSession, replaceLocation = path => window.location.replace(path) } = {}) { await logoutSessionImpl(); replaceLocation('/'); }