Files
teamwallet/myteamwallet_backend/src/team-roles/team-roles.guard.ts
Bastian Wagner 6bea4f766a first commit
2026-07-31 21:02:47 +02:00

21 lines
594 B
TypeScript

import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common';
import { Reflector } from '@nestjs/core';
@Injectable()
export class TeamRolesGuard implements CanActivate {
constructor(private reflector: Reflector) {}
canActivate(context: ExecutionContext): boolean {
const roles = this.reflector.getAllAndOverride<number[]>('teamRoles', [
context.getClass(),
context.getHandler(),
]);
if (!roles.length) {
return true;
}
const request = context.switchToHttp().getRequest();
return roles.includes(request.user?.teamRoles?.id);
}
}