feat: move all frontend projects under the same Angular workspace (#1141)

* feat: move all frontend projects under the same Angular workspace

* Refactor/angular workspace (#1154)

* update frontend build steps

Co-authored-by: waterplea <alexander@inkin.ru>
Co-authored-by: Matt Hill <matthewonthemoon@gmail.com>
Co-authored-by: Lucy Cifferello <12953208+elvece@users.noreply.github.com>
This commit is contained in:
Aiden McClelland
2022-01-31 14:01:33 -07:00
committed by GitHub
parent 7e6c852ebd
commit 574539faec
504 changed files with 11569 additions and 78972 deletions

View File

@@ -0,0 +1,38 @@
import { Injectable } from '@angular/core'
import { CanActivate, Router, CanActivateChild } from '@angular/router'
import { tap } from 'rxjs/operators'
import { AuthState, AuthService } from '../services/auth.service'
@Injectable({
providedIn: 'root',
})
export class AuthGuard implements CanActivate, CanActivateChild {
authState: AuthState
constructor (
private readonly authService: AuthService,
private readonly router: Router,
) {
this.authService.watch$()
.pipe(
tap(auth => this.authState = auth),
).subscribe()
}
canActivate (): boolean {
return this.runAuthCheck()
}
canActivateChild (): boolean {
return this.runAuthCheck()
}
private runAuthCheck (): boolean {
if (this.authState === AuthState.VERIFIED) {
return true
} else {
this.router.navigate(['/login'], { replaceUrl: true })
return false
}
}
}

View File

@@ -0,0 +1,31 @@
import { Injectable } from '@angular/core'
import { CanActivate, Router } from '@angular/router'
import { tap } from 'rxjs/operators'
import { AuthService, AuthState } from '../services/auth.service'
@Injectable({
providedIn: 'root',
})
export class UnauthGuard implements CanActivate {
authState: AuthState
constructor (
private readonly authService: AuthService,
private readonly router: Router,
) {
this.authService.watch$()
.pipe(
tap(auth => this.authState = auth),
).subscribe()
}
canActivate (): boolean {
if (this.authState === AuthState.VERIFIED) {
this.router.navigateByUrl('')
return false
} else {
return true
}
}
}