import rateLimit from "express-rate-limit";

/**
 * Login endpoint'i için sıkı rate limiter
 * 5 istek / dakika
 */
export const loginLimiter = rateLimit({
  windowMs: 60_000,
  max: 5,
  standardHeaders: true,
  legacyHeaders: false,
  message: { error: "Çok fazla giriş denemesi. Lütfen 1 dakika bekleyin." },
});

/**
 * State-changing işlemler için rate limiter
 * 30 istek / dakika
 */
export const apiLimiter = rateLimit({
  windowMs: 60_000,
  max: 30,
  standardHeaders: true,
  legacyHeaders: false,
  message: { error: "İstek limiti aşıldı. Lütfen daha sonra tekrar deneyin." },
});

/**
 * Dosya yükleme için rate limiter
 * 10 istek / dakika
 */
export const uploadLimiter = rateLimit({
  windowMs: 60_000,
  max: 10,
  standardHeaders: true,
  legacyHeaders: false,
  message: { error: "Yükleme limiti aşıldı. Lütfen daha sonra tekrar deneyin." },
});
