2022-03-17 15:35:24 +01:00
|
|
|
import { ModuleWithProviders, NgModule } from '@angular/core';
|
2022-03-16 17:45:12 +01:00
|
|
|
import { RouterModule } from '@angular/router';
|
2022-03-24 23:08:37 +01:00
|
|
|
import { Permission } from 'picsur-shared/dist/dto/permissions.dto';
|
2022-03-17 15:35:24 +01:00
|
|
|
import { PermissionGuard } from 'src/app/guards/permission.guard';
|
2022-03-28 17:26:50 +02:00
|
|
|
import { PRoutes } from 'src/app/models/dto/picsur-routes.dto';
|
2022-03-18 20:45:30 +01:00
|
|
|
import { SidebarResolverService } from 'src/app/services/sidebar-resolver/sidebar-resolver.service';
|
2022-03-21 22:58:16 +01:00
|
|
|
import { SettingsGeneralRouteModule } from './general/settings-general.module';
|
2022-03-23 23:21:29 +01:00
|
|
|
import { SettingsRolesRouteModule } from './roles/settings-roles.module';
|
2022-03-21 22:58:16 +01:00
|
|
|
import { SettingsSidebarComponent } from './sidebar/settings-sidebar.component';
|
2022-04-18 14:46:52 +02:00
|
|
|
import { SettingsSysprefRouteModule } from './sys-pref/settings-sys-pref.module';
|
2022-03-21 22:58:16 +01:00
|
|
|
import { SettingsUsersRouteModule } from './users/settings-users.module';
|
2022-03-16 17:45:12 +01:00
|
|
|
|
2022-03-16 22:27:03 +01:00
|
|
|
const SettingsRoutes: PRoutes = [
|
2022-03-16 17:45:12 +01:00
|
|
|
{
|
2022-03-16 22:27:03 +01:00
|
|
|
path: '',
|
2022-03-18 20:45:30 +01:00
|
|
|
children: [
|
|
|
|
|
{
|
|
|
|
|
path: '',
|
|
|
|
|
redirectTo: 'general',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: 'general',
|
|
|
|
|
loadChildren: () => SettingsGeneralRouteModule,
|
|
|
|
|
data: {
|
|
|
|
|
permissions: [Permission.Settings],
|
|
|
|
|
page: {
|
|
|
|
|
title: 'General',
|
|
|
|
|
icon: 'settings',
|
|
|
|
|
category: 'personal',
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
2022-03-19 22:04:55 +01:00
|
|
|
path: 'users',
|
|
|
|
|
loadChildren: () => SettingsUsersRouteModule,
|
2022-03-18 20:45:30 +01:00
|
|
|
data: {
|
2022-03-19 22:04:55 +01:00
|
|
|
permissions: [Permission.UserManage],
|
2022-03-18 20:45:30 +01:00
|
|
|
page: {
|
2022-03-19 22:04:55 +01:00
|
|
|
title: 'Users',
|
2022-03-23 23:21:29 +01:00
|
|
|
icon: 'people_outline',
|
|
|
|
|
category: 'system',
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: 'roles',
|
|
|
|
|
loadChildren: () => SettingsRolesRouteModule,
|
|
|
|
|
data: {
|
|
|
|
|
permissions: [Permission.RoleManage],
|
|
|
|
|
page: {
|
|
|
|
|
title: 'Roles',
|
|
|
|
|
icon: 'admin_panel_settings',
|
2022-03-18 20:45:30 +01:00
|
|
|
category: 'system',
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
2022-03-19 21:34:33 +01:00
|
|
|
{
|
2022-03-19 22:04:55 +01:00
|
|
|
path: 'system',
|
|
|
|
|
loadChildren: () => SettingsSysprefRouteModule,
|
2022-03-19 21:34:33 +01:00
|
|
|
data: {
|
2022-03-19 22:04:55 +01:00
|
|
|
permissions: [Permission.SysPrefManage],
|
2022-03-19 21:34:33 +01:00
|
|
|
page: {
|
2022-03-19 22:04:55 +01:00
|
|
|
title: 'System Settings',
|
|
|
|
|
icon: 'tune',
|
2022-03-19 21:34:33 +01:00
|
|
|
category: 'system',
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
2022-03-18 20:45:30 +01:00
|
|
|
],
|
2022-03-17 15:35:24 +01:00
|
|
|
canActivate: [PermissionGuard],
|
2022-03-18 20:45:30 +01:00
|
|
|
canActivateChild: [PermissionGuard],
|
2022-03-16 17:45:12 +01:00
|
|
|
data: {
|
2022-03-18 20:45:30 +01:00
|
|
|
sidebar: SettingsSidebarComponent,
|
2022-03-16 17:45:12 +01:00
|
|
|
},
|
2022-03-18 20:45:30 +01:00
|
|
|
resolve: SidebarResolverService.build(),
|
2022-03-17 15:35:24 +01:00
|
|
|
},
|
2022-03-16 17:45:12 +01:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
@NgModule({
|
2022-03-16 22:27:03 +01:00
|
|
|
imports: [RouterModule.forChild(SettingsRoutes)],
|
2022-03-16 17:45:12 +01:00
|
|
|
exports: [RouterModule],
|
|
|
|
|
})
|
2022-03-17 15:35:24 +01:00
|
|
|
export class SettingsRoutingModule {
|
|
|
|
|
static forRoot(): ModuleWithProviders<SettingsRoutingModule> {
|
|
|
|
|
return {
|
|
|
|
|
ngModule: SettingsRoutingModule,
|
|
|
|
|
providers: [
|
|
|
|
|
{
|
|
|
|
|
provide: 'SettingsRoutes',
|
2022-03-18 20:45:30 +01:00
|
|
|
useFactory: () => SettingsRoutes[0].children,
|
2022-03-17 15:35:24 +01:00
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|