import { Global, Module } from '@nestjs/common';
import { AttestationGuard } from './attestation.guard';
import { SensitiveRateLimitGuard } from './sensitive-rate-limit.guard';

/**
 * Shared security guards. `@Global` so the in-memory rate-limit window in
 * {@link SensitiveRateLimitGuard} is a single instance across every module
 * that gates a sensitive route.
 */
@Global()
@Module({
  providers: [AttestationGuard, SensitiveRateLimitGuard],
  exports: [AttestationGuard, SensitiveRateLimitGuard],
})
export class SecurityModule {}
