Compare commits

...

2 Commits

View File

@ -1,20 +1,15 @@
import {inject, Injectable, signal} from '@angular/core'; import {Injectable, signal} from '@angular/core';
import {LoginService} from '@api'; import {LoginService} from '@api';
import {Observable, throwError} from 'rxjs'; import {Observable, throwError} from 'rxjs';
import {catchError, tap} from 'rxjs/operators'; import {catchError, tap} from 'rxjs/operators';
import {MatSnackBar} from '@angular/material/snack-bar'; import {MatSnackBar} from '@angular/material/snack-bar';
import {JwtHelperService} from '@auth0/angular-jwt'; import {JwtHelperService} from '@auth0/angular-jwt';
import {JwtClaims} from '@custom-types/jwt_interface' import {JwtClaims} from '@custom-types/jwt_interface'
import {LoginDialogComponent} from '@shared-components/login/login.component';
import {MatDialog} from '@angular/material/dialog';
import {Router} from '@angular/router';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
export class AuthService { export class AuthService {
private dialog: MatDialog = inject(MatDialog)
private isAuthenticatedSubject = signal<boolean>(false); private isAuthenticatedSubject = signal<boolean>(false);
public readonly isAuthenticated$ = this.isAuthenticatedSubject.asReadonly(); public readonly isAuthenticated$ = this.isAuthenticatedSubject.asReadonly();
@ -25,8 +20,7 @@ export class AuthService {
constructor( constructor(
private loginService: LoginService, private loginService: LoginService,
private snackBar: MatSnackBar, private snackBar: MatSnackBar
private router: Router
) { ) {
// Check if user is already logged in on service initialization // Check if user is already logged in on service initialization
this.checkAuthStatus(); this.checkAuthStatus();
@ -78,15 +72,6 @@ export class AuthService {
const jwt = this.getJwt(); const jwt = this.getJwt();
if (!jwt) { if (!jwt) {
console.log("No JWT found"); console.log("No JWT found");
const currentUrl = this.router.url;
const dialogRef = this.dialog.open(LoginDialogComponent, {
width: '400px',
})
dialogRef.afterClosed().subscribe(result => {
if (result) {
this.router.navigateByUrl(currentUrl).then();
}
});
return false; return false;
} }
try { try {