import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common'; import { CircuitBreakerService } from './circuitBreakerService'; @Injectable() export class CircuitBreakerGuard implements CanActivate { constructor(private readonly circuitBreakerService: CircuitBreakerService) {} canActivate(context: ExecutionContext): boolean { const request = context.switchToHttp().getRequest(); const serviceName = `${request.method}:${request.route?.path || 'unknown'}`; return this.circuitBreakerService.isOpen(serviceName); } }