File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/src/app/guards/auth-route.guard.ts
import { Injectable } from "@angular/core";
import { ActivatedRouteSnapshot, RouterStateSnapshot, Router } from "@angular/router";
import { AuthRouteService } from "../services/auth-route.service";
import { StorageService } from "../services/storage.service";
@Injectable({
providedIn: "root",
})
export class AuthRouteGuard {
loading: any;
constructor(
private authRouteService: AuthRouteService,
private router: Router,
private storage: StorageService) {}
async canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
return await this.checkLogin();
}
async checkLogin() {
if (await this.storage.get("token")) {
return true;
} else {
return this.authRouteService.validateLoginUser().then((resp) => {
if (resp == "showEndVersionModal" || resp == "showConfirmVersionAppOld") {
return false;
} else if (resp == "notExistsUser") {
//this.router.navigate(["/tutorial/init"]);
this.router.navigate(["/city-connection"]);
return false;
} else if (resp == "existsUser") {
return true;
}
});
}
}
}