add better role indications

This commit is contained in:
rubikscraft
2022-03-23 20:40:31 +01:00
parent 860476ecd4
commit 6b1b973a4e
16 changed files with 144 additions and 41 deletions

View File

@@ -37,6 +37,6 @@ export class GuestStrategy extends PassportStrategy(
}
override async validate(payload: any) {
return this.guestService.createGuest();
return await this.guestService.getGuestUser();
}
}

View File

@@ -1,13 +1,24 @@
import { Injectable } from '@nestjs/common';
import { HasFailed } from 'picsur-shared/dist/types';
import { UsersService } from '../../collections/userdb/userdb.service';
import { EUserBackend } from '../../models/entities/user.entity';
@Injectable()
export class GuestService {
public createGuest(): EUserBackend {
const guest = new EUserBackend();
guest.roles = ['guest'];
guest.username = 'guest';
private fallBackUser: EUserBackend;
return guest;
constructor(private usersService: UsersService) {
this.fallBackUser = new EUserBackend();
this.fallBackUser.roles = ['guest'];
this.fallBackUser.username = 'guest';
}
public async getGuestUser(): Promise<EUserBackend> {
const user = await this.usersService.findOne('guest');
if (HasFailed(user)) {
return this.fallBackUser;
}
return user;
}
}