У меня есть приложение js, в котором в настоящее время есть пользователь и компания, и у каждой компании есть пользователь-владелец. В моем случае я хочу написать собственный декоратор для использования в каждом методе контроллера, чтобы узнать, является ли пользователь владельцем этой компании.
поэтому я начинаю писать собственный Guard следующим образом:
@Injectable()
export class CompanyGuard implements CanActivate {
constructor() { }
canActivate(context: ExecutionContext) {
const request = context.switchToHttp().getRequest();
const user = request.user;
if (user) {
console.log(user);
return true;
} else {
throw new HttpException('you have no access to this company', HttpStatus.UNAUTHORIZED)
}
}
}
, и я использую его так:
@UseGuards(JwtAuthGuard, CompanyGuard)
@Post('get-data/:companyId/')
getData(@Req() request){}
Я хочу получить доступ к базе данных mon goose в CompanyGuard и проверить доступ в базе данных, как я могу это сделать?