mirror of
https://github.com/bitwarden/browser
synced 2025-12-14 07:13:32 +00:00
Class based router guards are deprecated as of Angular 15.2, per angular.io/guide/deprecations#router-class-and-injection-token-guards. To simplify future angular upgrades we need to resolve these deprecations. This PR migrates the HasPremium and DebounceNavigationService guards to use the new functional pattern.
68 lines
2.4 KiB
TypeScript
68 lines
2.4 KiB
TypeScript
import { NgModule } from "@angular/core";
|
|
import { RouterModule, Routes } from "@angular/router";
|
|
|
|
import { AuthGuard } from "@bitwarden/angular/auth/guards";
|
|
|
|
import { hasPremiumGuard } from "../core/guards/has-premium.guard";
|
|
|
|
import { BreachReportComponent } from "./pages/breach-report.component";
|
|
import { ExposedPasswordsReportComponent } from "./pages/exposed-passwords-report.component";
|
|
import { InactiveTwoFactorReportComponent } from "./pages/inactive-two-factor-report.component";
|
|
import { ReportsHomeComponent } from "./pages/reports-home.component";
|
|
import { ReusedPasswordsReportComponent } from "./pages/reused-passwords-report.component";
|
|
import { UnsecuredWebsitesReportComponent } from "./pages/unsecured-websites-report.component";
|
|
import { WeakPasswordsReportComponent } from "./pages/weak-passwords-report.component";
|
|
import { ReportsLayoutComponent } from "./reports-layout.component";
|
|
|
|
const routes: Routes = [
|
|
{
|
|
path: "",
|
|
component: ReportsLayoutComponent,
|
|
canActivate: [AuthGuard],
|
|
children: [
|
|
{ path: "", pathMatch: "full", component: ReportsHomeComponent, data: { homepage: true } },
|
|
{
|
|
path: "breach-report",
|
|
component: BreachReportComponent,
|
|
data: { titleId: "dataBreachReport" },
|
|
},
|
|
{
|
|
path: "reused-passwords-report",
|
|
component: ReusedPasswordsReportComponent,
|
|
data: { titleId: "reusedPasswordsReport" },
|
|
canActivate: [hasPremiumGuard()],
|
|
},
|
|
{
|
|
path: "unsecured-websites-report",
|
|
component: UnsecuredWebsitesReportComponent,
|
|
data: { titleId: "unsecuredWebsitesReport" },
|
|
canActivate: [hasPremiumGuard()],
|
|
},
|
|
{
|
|
path: "weak-passwords-report",
|
|
component: WeakPasswordsReportComponent,
|
|
data: { titleId: "weakPasswordsReport" },
|
|
canActivate: [hasPremiumGuard()],
|
|
},
|
|
{
|
|
path: "exposed-passwords-report",
|
|
component: ExposedPasswordsReportComponent,
|
|
data: { titleId: "exposedPasswordsReport" },
|
|
canActivate: [hasPremiumGuard()],
|
|
},
|
|
{
|
|
path: "inactive-two-factor-report",
|
|
component: InactiveTwoFactorReportComponent,
|
|
data: { titleId: "inactive2faReport" },
|
|
canActivate: [hasPremiumGuard()],
|
|
},
|
|
],
|
|
},
|
|
];
|
|
|
|
@NgModule({
|
|
imports: [RouterModule.forChild(routes)],
|
|
exports: [RouterModule],
|
|
})
|
|
export class ReportsRoutingModule {}
|