import { createRateLimiter } from './rateLimiter';

const FIFTEEN_MINUTES_MS = 900_000;

export const forgotPasswordRequestOtpRateLimiter = createRateLimiter({
  windowMs: FIFTEEN_MINUTES_MS,
  maxRequests: 5,
  message: 'Too many password reset requests. Please try again later.',
  logContext: 'forgot-password-request-otp',
});

export const forgotPasswordVerifyOtpRateLimiter = createRateLimiter({
  windowMs: 300_000,
  maxRequests: 10,
  message: 'Too many verification attempts. Please try again later.',
  logContext: 'forgot-password-verify-otp',
});

export const forgotPasswordResetRateLimiter = createRateLimiter({
  windowMs: FIFTEEN_MINUTES_MS,
  maxRequests: 5,
  message: 'Too many password reset attempts. Please try again later.',
  logContext: 'forgot-password-reset',
});
