Files
Nexum/src/app/guards/auth-needed-guard.ts
2026-04-10 21:57:29 +02:00

25 lines
827 B
TypeScript

import {CanActivateFn, Router} from '@angular/router';
import {inject} from '@angular/core';
import {IndexedDB} from '../storage/indexed-db';
import {Keyring} from '../storage/keyring';
import {KeyValue} from '../storage/key-value';
import {SessionManager} from '@chatenium/chatenium-sdk/services/sessionManager';
export const authNeededGuard: CanActivateFn = (route, state) => {
const indexedDb = inject(IndexedDB)
const keyring = inject(Keyring)
const keyValue = inject(KeyValue)
const router = inject(Router)
indexedDb.openDatabase().then(async () => {
const sessionManager = new SessionManager(indexedDb.getApi(), keyring.getApi(), keyValue.getApi());
const sessions = await sessionManager.loadSessions()
if (sessions.length == 0) {
router.navigate(['/signin'])
}
})
return true;
};