diff --git a/npm/ng-packs/packages/tenant-management/config/src/providers/index.ts b/npm/ng-packs/packages/tenant-management/config/src/providers/index.ts new file mode 100644 index 0000000000..fe08efba8c --- /dev/null +++ b/npm/ng-packs/packages/tenant-management/config/src/providers/index.ts @@ -0,0 +1 @@ +export * from './route.provider'; diff --git a/npm/ng-packs/packages/tenant-management/config/src/providers/route.provider.ts b/npm/ng-packs/packages/tenant-management/config/src/providers/route.provider.ts new file mode 100644 index 0000000000..0be264745d --- /dev/null +++ b/npm/ng-packs/packages/tenant-management/config/src/providers/route.provider.ts @@ -0,0 +1,30 @@ +import { eLayoutType, RoutesService } from '@abp/ng.core'; +import { eThemeSharedRouteNames } from '@abp/ng.theme.shared'; +import { APP_INITIALIZER } from '@angular/core'; +import { eTenantManagementRouteNames } from '../enums/route-names'; + +export const TENANT_MANAGEMENT_ROUTE_PROVIDERS = [ + { provide: APP_INITIALIZER, useFactory: configureRoutes, deps: [RoutesService], multi: true }, +]; + +export function configureRoutes(routes: RoutesService) { + return () => { + routes.add([ + { + path: '/tenant-management', + name: eTenantManagementRouteNames.TenantManagement, + parentName: eThemeSharedRouteNames.Administration, + layout: eLayoutType.application, + iconClass: 'fa fa-users', + order: 2, + }, + { + path: '/tenant-management/tenants', + name: eTenantManagementRouteNames.Tenants, + parentName: eTenantManagementRouteNames.TenantManagement, + requiredPolicy: 'AbpTenantManagement.Tenants', + order: 1, + }, + ]); + }; +}