Fixing the web app with missing permissions

This commit is contained in:
Zoe Roux 2021-05-07 23:13:21 +02:00
parent da35a725a3
commit 6802bc11e6
2 changed files with 14 additions and 2 deletions

View File

@ -95,7 +95,7 @@ export class AuthModule
{ {
constructor(http: HttpClient) constructor(http: HttpClient)
{ {
AuthGuard.permissionsObservable = http.get<string[]>("/api/account/default-permissions") AuthGuard.permissionsObservable = http.get<string[]>("/api/account/permissions")
.pipe(tap(x => AuthGuard.defaultPermissions = x)); .pipe(tap(x => AuthGuard.defaultPermissions = x));
} }
} }

View File

@ -50,8 +50,20 @@ export class AuthGuard
} }
else else
{ {
if (AuthGuard.defaultPermissions === undefined)
{
try
{
await AuthGuard.permissionsObservable.toPromise();
}
catch
{
AuthGuard.defaultPermissions = null;
}
}
if (!AuthGuard.defaultPermissions) if (!AuthGuard.defaultPermissions)
await AuthGuard.permissionsObservable.toPromise(); return true;
for (const perm of permissions) for (const perm of permissions)
if (!AuthGuard.defaultPermissions.includes(perm)) if (!AuthGuard.defaultPermissions.includes(perm))