Improve service

This commit is contained in:
itskovacs 2025-08-06 20:04:11 +02:00
parent 3cd25790e3
commit 999eb1426c

View File

@ -1,22 +1,27 @@
import { inject } from '@angular/core';
import { CanActivateChildFn, CanActivateFn, Router } from '@angular/router';
import { UtilsService } from './utils.service';
import { AuthService } from './auth.service';
import { of, switchMap } from 'rxjs';
import { inject } from "@angular/core";
import { CanActivateFn, Router } from "@angular/router";
import { UtilsService } from "./utils.service";
import { AuthService } from "./auth.service";
import { of, switchMap, take } from "rxjs";
export const AuthGuard: CanActivateFn | CanActivateChildFn = (_, state) => {
export const AuthGuard: CanActivateFn = (_, state) => {
const router: Router = inject(Router);
const utilsService = inject(UtilsService);
return inject(AuthService)
.isLoggedIn()
.pipe(
take(1),
switchMap((authenticated) => {
if (!authenticated) {
const redirectURL =
state.url === '/auth' ? '' : `redirectURL=${state.url}`;
state.url === "/auth" ? "" : `redirectURL=${state.url}`;
const urlTree = router.parseUrl(`auth?${redirectURL}`);
utilsService.toast('error', 'Error', 'You must be authenticated');
utilsService.toast(
"warn",
"Authentication required",
"You must be authenticated",
);
return of(urlTree);
}