Files
back/src/games/guards/auth.guard.ts
T
2024-12-27 22:54:05 +01:00

24 lines
598 B
TypeScript

import {
Injectable,
CanActivate,
ExecutionContext,
HttpException,
HttpStatus,
} from '@nestjs/common';
import { Request } from 'express';
import { Observable } from 'rxjs';
@Injectable()
export class AuthGuard implements CanActivate {
canActivate(
context: ExecutionContext,
): boolean | Promise<boolean> | Observable<boolean> {
const http = context.switchToHttp();
const request = http.getRequest<Request>();
if (!(request.session as Record<string, any>).user) {
throw new HttpException('Please log in', HttpStatus.UNAUTHORIZED);
}
return true;
}
}