diff --git a/src/app/organizations/organizations-routing.module.ts b/src/app/organizations/organizations-routing.module.ts index 6a845efd..081b4b86 100644 --- a/src/app/organizations/organizations-routing.module.ts +++ b/src/app/organizations/organizations-routing.module.ts @@ -18,14 +18,6 @@ import { BillingComponent } from "./settings/billing.component"; import { SettingsComponent } from "./settings/settings.component"; import { SubscriptionComponent } from "./settings/subscription.component"; import { TwoFactorSetupComponent } from "./settings/two-factor-setup.component"; -import { ExportComponent } from "./tools/export.component"; -import { ExposedPasswordsReportComponent } from "./tools/exposed-passwords-report.component"; -import { ImportComponent } from "./tools/import.component"; -import { InactiveTwoFactorReportComponent } from "./tools/inactive-two-factor-report.component"; -import { ReusedPasswordsReportComponent } from "./tools/reused-passwords-report.component"; -import { ToolsComponent } from "./tools/tools.component"; -import { UnsecuredWebsitesReportComponent } from "./tools/unsecured-websites-report.component"; -import { WeakPasswordsReportComponent } from "./tools/weak-passwords-report.component"; const routes: Routes = [ { @@ -45,79 +37,7 @@ const routes: Routes = [ }, { path: "tools", - component: ToolsComponent, - canActivate: [PermissionsGuard], - data: { permissions: NavigationPermissionsService.getPermissions("tools") }, - children: [ - { - path: "", - pathMatch: "full", - redirectTo: "import", - }, - { - path: "import", - component: ImportComponent, - canActivate: [PermissionsGuard], - data: { - titleId: "importData", - permissions: [Permissions.AccessImportExport], - }, - }, - { - path: "export", - component: ExportComponent, - canActivate: [PermissionsGuard], - data: { - titleId: "exportVault", - permissions: [Permissions.AccessImportExport], - }, - }, - { - path: "exposed-passwords-report", - component: ExposedPasswordsReportComponent, - canActivate: [PermissionsGuard], - data: { - titleId: "exposedPasswordsReport", - permissions: [Permissions.AccessReports], - }, - }, - { - path: "inactive-two-factor-report", - component: InactiveTwoFactorReportComponent, - canActivate: [PermissionsGuard], - data: { - titleId: "inactive2faReport", - permissions: [Permissions.AccessReports], - }, - }, - { - path: "reused-passwords-report", - component: ReusedPasswordsReportComponent, - canActivate: [PermissionsGuard], - data: { - titleId: "reusedPasswordsReport", - permissions: [Permissions.AccessReports], - }, - }, - { - path: "unsecured-websites-report", - component: UnsecuredWebsitesReportComponent, - canActivate: [PermissionsGuard], - data: { - titleId: "unsecuredWebsitesReport", - permissions: [Permissions.AccessReports], - }, - }, - { - path: "weak-passwords-report", - component: WeakPasswordsReportComponent, - canActivate: [PermissionsGuard], - data: { - titleId: "weakPasswordsReport", - permissions: [Permissions.AccessReports], - }, - }, - ], + loadChildren: async () => (await import("./tools/tools.module")).ToolsModule, }, { path: "manage", diff --git a/src/app/organizations/organizations.module.ts b/src/app/organizations/organizations.module.ts index f32f5cc9..9a4513b0 100644 --- a/src/app/organizations/organizations.module.ts +++ b/src/app/organizations/organizations.module.ts @@ -12,7 +12,6 @@ import { PoliciesModule } from "./policies/policies.module"; import { SettingsModule } from "./settings/settings.module"; import { AcceptFamilySponsorshipComponent } from "./sponsorships/accept-family-sponsorship.component"; import { FamiliesForEnterpriseSetupComponent } from "./sponsorships/families-for-enterprise-setup.component"; -import { ToolsModule } from "./tools/tools.module"; @NgModule({ imports: [ @@ -23,7 +22,6 @@ import { ToolsModule } from "./tools/tools.module"; PoliciesModule, SettingsModule, ManageModule, - ToolsModule, ], declarations: [ AcceptFamilySponsorshipComponent, diff --git a/src/app/organizations/tools/tools-routing.module.ts b/src/app/organizations/tools/tools-routing.module.ts new file mode 100644 index 00000000..b18d0cf2 --- /dev/null +++ b/src/app/organizations/tools/tools-routing.module.ts @@ -0,0 +1,101 @@ +import { NgModule } from "@angular/core"; +import { RouterModule, Routes } from "@angular/router"; + +import { Permissions } from "jslib-common/enums/permissions"; + +import { PermissionsGuard } from "../guards/permissions.guard"; +import { NavigationPermissionsService } from "../services/navigation-permissions.service"; + +import { ExportComponent } from "./export.component"; +import { ExposedPasswordsReportComponent } from "./exposed-passwords-report.component"; +import { ImportComponent } from "./import.component"; +import { InactiveTwoFactorReportComponent } from "./inactive-two-factor-report.component"; +import { ReusedPasswordsReportComponent } from "./reused-passwords-report.component"; +import { ToolsComponent } from "./tools.component"; +import { UnsecuredWebsitesReportComponent } from "./unsecured-websites-report.component"; +import { WeakPasswordsReportComponent } from "./weak-passwords-report.component"; + +const routes: Routes = [ + { + path: "", + component: ToolsComponent, + canActivate: [PermissionsGuard], + data: { permissions: NavigationPermissionsService.getPermissions("tools") }, + children: [ + { + path: "", + pathMatch: "full", + redirectTo: "import", + }, + { + path: "import", + component: ImportComponent, + canActivate: [PermissionsGuard], + data: { + titleId: "importData", + permissions: [Permissions.AccessImportExport], + }, + }, + { + path: "export", + component: ExportComponent, + canActivate: [PermissionsGuard], + data: { + titleId: "exportVault", + permissions: [Permissions.AccessImportExport], + }, + }, + { + path: "exposed-passwords-report", + component: ExposedPasswordsReportComponent, + canActivate: [PermissionsGuard], + data: { + titleId: "exposedPasswordsReport", + permissions: [Permissions.AccessReports], + }, + }, + { + path: "inactive-two-factor-report", + component: InactiveTwoFactorReportComponent, + canActivate: [PermissionsGuard], + data: { + titleId: "inactive2faReport", + permissions: [Permissions.AccessReports], + }, + }, + { + path: "reused-passwords-report", + component: ReusedPasswordsReportComponent, + canActivate: [PermissionsGuard], + data: { + titleId: "reusedPasswordsReport", + permissions: [Permissions.AccessReports], + }, + }, + { + path: "unsecured-websites-report", + component: UnsecuredWebsitesReportComponent, + canActivate: [PermissionsGuard], + data: { + titleId: "unsecuredWebsitesReport", + permissions: [Permissions.AccessReports], + }, + }, + { + path: "weak-passwords-report", + component: WeakPasswordsReportComponent, + canActivate: [PermissionsGuard], + data: { + titleId: "weakPasswordsReport", + permissions: [Permissions.AccessReports], + }, + }, + ], + }, +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class ToolsRoutingModule {} diff --git a/src/app/organizations/tools/tools.module.ts b/src/app/organizations/tools/tools.module.ts index 3eb76bee..5cbd6e6c 100644 --- a/src/app/organizations/tools/tools.module.ts +++ b/src/app/organizations/tools/tools.module.ts @@ -8,12 +8,13 @@ import { ExposedPasswordsReportComponent } from "./exposed-passwords-report.comp import { ImportComponent } from "./import.component"; import { InactiveTwoFactorReportComponent } from "./inactive-two-factor-report.component"; import { ReusedPasswordsReportComponent } from "./reused-passwords-report.component"; +import { ToolsRoutingModule } from "./tools-routing.module"; import { ToolsComponent } from "./tools.component"; import { UnsecuredWebsitesReportComponent } from "./unsecured-websites-report.component"; import { WeakPasswordsReportComponent } from "./weak-passwords-report.component"; @NgModule({ - imports: [CommonModule, SharedModule], + imports: [CommonModule, SharedModule, ToolsRoutingModule], declarations: [ ExportComponent, ExposedPasswordsReportComponent,