From acc1dc9bea49247e3a01b8101491be89be43f93d Mon Sep 17 00:00:00 2001 From: Dorian Nemec Date: Wed, 12 Mar 2025 12:48:28 +0100 Subject: [PATCH] TD-4: Bannen wip --- src/app/core/auth/UserData.d.ts | 3 ++- src/app/core/auth/auth.service.ts | 3 ++- src/app/views/dashboard/dashboard.component.html | 4 ++++ src/app/views/dashboard/dashboard.component.ts | 6 +++--- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/app/core/auth/UserData.d.ts b/src/app/core/auth/UserData.d.ts index 08b8212..638948f 100644 --- a/src/app/core/auth/UserData.d.ts +++ b/src/app/core/auth/UserData.d.ts @@ -1,6 +1,7 @@ interface UserData { username: string, - verified: boolean + verified: boolean, + id: number } export default UserData; diff --git a/src/app/core/auth/auth.service.ts b/src/app/core/auth/auth.service.ts index 65f8079..3c8c045 100644 --- a/src/app/core/auth/auth.service.ts +++ b/src/app/core/auth/auth.service.ts @@ -22,7 +22,8 @@ export class AuthService implements CanActivate { const isLoggedIn = isAuthenticated && userData != null && accessToken != ''; this.$user.next(isLoggedIn ? { username: userData.preferred_username, - verified: userData.email_verified + verified: userData.email_verified, + id: userData.id } : undefined); }); } diff --git a/src/app/views/dashboard/dashboard.component.html b/src/app/views/dashboard/dashboard.component.html index 4d625a1..d5d3788 100644 --- a/src/app/views/dashboard/dashboard.component.html +++ b/src/app/views/dashboard/dashboard.component.html @@ -26,6 +26,10 @@ Username {{ user.username }} + + Is banned + {{ user.banned }} + Actions diff --git a/src/app/views/dashboard/dashboard.component.ts b/src/app/views/dashboard/dashboard.component.ts index 42a82ef..4f3a190 100644 --- a/src/app/views/dashboard/dashboard.component.ts +++ b/src/app/views/dashboard/dashboard.component.ts @@ -28,7 +28,7 @@ import {AdministratablePlayer, AdminService, PlayerFilter} from '@core/server'; styleUrl: './dashboard.component.scss' }) export class DashboardComponent implements OnInit { - displayedColumns: Array = ['username', 'actions']; + displayedColumns: Array = ['username', 'actions', 'banned']; usersDataSource: MatTableDataSource = new MatTableDataSource([]); constructor(private adminService: AdminService, protected authService: AuthService) { @@ -63,8 +63,8 @@ export class DashboardComponent implements OnInit { banPlayer(user: UserData): void { console.log(`Banning user: ${user.username}`); - // TODO: implement banning logic - this.adminService.banPlayer(); + this.adminService.banPlayer(user.id); + this.fetchPlayers(''); } onSearch(searchbar: HTMLInputElement): void {