add admin interface, angular migration

This commit is contained in:
_Bastler
2025-11-09 01:58:54 +01:00
parent ff94ca05ce
commit 1acaf07825
100 changed files with 7129 additions and 50 deletions
+45 -1
View File
@@ -1,7 +1,7 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { AuthGuard, AuthUpdateGuard, AuthenticatedGuard, AnonymousGuard } from './auth/auth.guard';
import { AuthGuard, AuthUpdateGuard, AuthenticatedGuard, AnonymousGuard, AdminGuard } from './auth/auth.guard';
import { MainComponent } from './ui/main/main.component';
import { FormLoginComponent } from './pages/form-login/form-login.component';
import { FormLogin2FAComponent } from './pages/form-login-2fa/form-login-2fa.component';
@@ -35,6 +35,26 @@ import { InviteCodeComponent } from './pages/invites/code/code.component';
import { JukeboxComponent } from './pages/jukebox/jukebox.compontent';
import { FormLoginOidcComponent } from './pages/form-login-oidc/form-login-oidc.component';
import { DyndnsComponent } from './pages/account/dyndns/dyndns.component';
import { AdminComponent } from './pages/admin/admin.component';
import { AdminUsersComponent } from './pages/admin/users/users.component';
import { AdminServicesComponent } from './pages/admin/services/services.component';
import { AdminPermissionsComponent } from './pages/admin/permissions/permissions.component';
import { AdminQuotasComponent } from './pages/admin/quotas/quotas.component';
import { AdminJitsiRoomsComponent } from './pages/admin/jitsi-rooms/jitsi-rooms.component';
import { AdminMinetestAccountsComponent } from './pages/admin/minetest-accounts/minetest-accounts.component';
import { AdminShortenedUrlsComponent } from './pages/admin/shortened-urls/shortened-urls.component';
import { AdminJukeboxComponent } from './pages/admin/jukebox/jukebox.component';
import { AdminParteyMapsComponent } from './pages/admin/partey-maps/partey-maps.component';
import { AdminParteyTagsComponent } from './pages/admin/partey-tags/partey-tags.component';
import { AdminParteyReportsComponent } from './pages/admin/partey-reports/partey-reports.component';
import { AdminTimeslotsComponent } from './pages/admin/timeslots/timeslots.component';
import { AdminSystemPropertiesComponent } from './pages/admin/system-properties/system-properties.component';
import { AdminPermissionMappingsComponent } from './pages/admin/permission-mappings/permission-mappings.component';
import { AdminQuotaMappingsComponent } from './pages/admin/quota-mappings/quota-mappings.component';
import { AdminVoucherMappingsComponent } from './pages/admin/voucher-mappings/voucher-mappings.component';
import { AdminSystemProfileFieldsComponent } from './pages/admin/system-profile-fields/system-profile-fields.component';
import { AdminUserAliasesComponent } from './pages/admin/user-aliases/user-aliases.component';
import { AdminOidcClientsComponent } from './pages/admin/oidc-clients/oidc-clients.component';
const routes: Routes = [
{ path: 'profile/:username', component: UserComponent, canActivate: [AuthUpdateGuard] },
@@ -84,6 +104,30 @@ const routes: Routes = [
{ path: 'urlshortener/:code', component: UrlShortenerPasswordComponent, canActivate: [AuthUpdateGuard] },
{ path: 'invites/:quota', component: InvitesComponent, canActivate: [AuthenticatedGuard] },
{ path: 'invite/:code', component: InviteCodeComponent, canActivate: [AuthGuard] },
{
path: 'admin', component: AdminComponent, canActivate: [AdminGuard], children: [
{ path: '', redirectTo: "/admin/users", pathMatch: 'full' },
{ path: 'users', component: AdminUsersComponent, canActivate: [AdminGuard] },
{ path: 'permissions', component: AdminPermissionsComponent, canActivate: [AdminGuard] },
{ path: 'permission-mappings', component: AdminPermissionMappingsComponent, canActivate: [AdminGuard] },
{ path: 'quotas', component: AdminQuotasComponent, canActivate: [AdminGuard] },
{ path: 'quota-mappings', component: AdminQuotaMappingsComponent, canActivate: [AdminGuard] },
{ path: 'voucher-mappings', component: AdminVoucherMappingsComponent, canActivate: [AdminGuard] },
{ path: 'services', component: AdminServicesComponent, canActivate: [AdminGuard] },
{ path: 'system-properties', component: AdminSystemPropertiesComponent, canActivate: [AdminGuard] },
{ path: 'system-profile-fields', component: AdminSystemProfileFieldsComponent, canActivate: [AdminGuard] },
{ path: 'user-aliases', component: AdminUserAliasesComponent, canActivate: [AdminGuard] },
{ path: 'oidc-clients', component: AdminOidcClientsComponent, canActivate: [AdminGuard] },
{ path: 'jitsi-rooms', component: AdminJitsiRoomsComponent, canActivate: [AdminGuard] },
{ path: 'minetest-accounts', component: AdminMinetestAccountsComponent, canActivate: [AdminGuard] },
{ path: 'shortened-urls', component: AdminShortenedUrlsComponent, canActivate: [AdminGuard] },
{ path: 'jukebox', component: AdminJukeboxComponent, canActivate: [AdminGuard] },
{ path: 'partey-maps', component: AdminParteyMapsComponent, canActivate: [AdminGuard] },
{ path: 'partey-tags', component: AdminParteyTagsComponent, canActivate: [AdminGuard] },
{ path: 'partey-reports', component: AdminParteyReportsComponent, canActivate: [AdminGuard] },
{ path: 'timeslots', component: AdminTimeslotsComponent, canActivate: [AdminGuard] }
]
},
{ path: 'unavailable', component: UnavailableComponent },
{ path: 'p/:username', component: UserComponent, canActivate: [AuthUpdateGuard] },
{ path: '**', component: NotfoundComponent, pathMatch: 'full', canActivate: [AuthUpdateGuard] },]