mirror of
https://github.com/CaramelFur/Picsur.git
synced 2025-11-12 14:55:39 +01:00
add better role indications
This commit is contained in:
@@ -37,6 +37,6 @@ export class GuestStrategy extends PassportStrategy(
|
||||
}
|
||||
|
||||
override async validate(payload: any) {
|
||||
return this.guestService.createGuest();
|
||||
return await this.guestService.getGuestUser();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user