Преглед изворни кода

Improved user profile debug information

Lukas Angerer пре 2 година
родитељ
комит
b43f34896d

+ 12 - 1
src/RunnersMeet.Client/src/app/pages/profile-page/profile-page.component.html

@@ -1,4 +1,15 @@
 <div *ngIf="true | isDebug">
+	<h3>User Profile</h3>
+	<dl>
+		<dt>userId</dt>
+		<dd>{{ userValidationResult?.userProfile?.userId }}</dd>
+		<dt>displayName</dt>
+		<dd>{{ userValidationResult?.userProfile?.displayName }}</dd>
+		<dt>claims</dt>
+		<dd>{{ userValidationResult?.claims | json }}</dd>
+	</dl>
+
+	<h3>Auth0 Context</h3>
 	<dl>
 		<dt>isLoading</dt>
 		<dd>{{ authService.isLoading$ | async | json }}</dd>
@@ -6,7 +17,7 @@
 		<dd>{{ authService.isAuthenticated$ | async | json }}</dd>
 		<dt>user</dt>
 		<dd><pre><code>{{ authService.user$ | async | json }}</code></pre></dd>
-		<dt>User Display Name</dt>
+		<dt>Nickname</dt>
 		<dd>{{ (authService.user$ | async)?.nickname }}</dd>
 		<dt>User ID</dt>
 		<dd>{{ (authService.user$ | async)?.sub }}</dd>

+ 9 - 1
src/RunnersMeet.Client/src/app/pages/profile-page/profile-page.component.ts

@@ -1,5 +1,7 @@
 import { Component } from '@angular/core';
 import { AuthService } from '@auth0/auth0-angular';
+import { PermissionService } from 'src/app/users/permission.service';
+import { UserValidationResult } from 'src/app/users/validate-user-result';
 
 @Component({
   selector: 'app-profile-page',
@@ -7,8 +9,14 @@ import { AuthService } from '@auth0/auth0-angular';
   styleUrls: ['./profile-page.component.scss']
 })
 export class ProfilePageComponent {
+	public userValidationResult: UserValidationResult | null = null;
+
 	public constructor(
-		public readonly authService: AuthService
+		public readonly authService: AuthService,
+		public readonly permissionService: PermissionService
 	) {
+		this.permissionService.userValidationResult.then(userValidationResult => {
+			this.userValidationResult = userValidationResult;
+		});
 	}
 }

+ 4 - 0
src/RunnersMeet.Client/src/app/users/permission.service.ts

@@ -24,6 +24,10 @@ export class PermissionService {
 		return this._validationResult.then(r => r?.userProfile ?? null);
 	}
 
+	public get userValidationResult(): Promise<UserValidationResult | null> {
+		return this._validationResult;
+	}
+
 	public constructor(
 		public readonly authService: AuthService,
 		private readonly usersApi: UsersApiService