revert refactor(api): rate limiting sistemini basitleştir ve sadece login endpoint'inde tut

Merkezi rate limiting middleware dosyasını kaldırıp rate limiting'i sadece
login endpoint'ine özel hale getirildi. Diğer API endpoint'lerindeki rate
limiting kısıtlamaları (loop, timer, torrent) kaldırıldı. Login rate limiter
artık auth.routes.ts dosyasında inline olarak tanımlanıyor.
This commit is contained in:
2026-01-05 17:31:19 +00:00
parent 9f3b2cbb24
commit a4de80b98d
5 changed files with 68 additions and 24 deletions

View File

@@ -4,6 +4,7 @@ import { readDb, writeDb } from "../storage/jsondb";
import { TimerRule } from "../types";
import { nowIso } from "../utils/time";
import { z } from "zod";
import { apiLimiter } from "../middleware/rate-limiter";
const router = Router();
@@ -17,7 +18,7 @@ router.get("/rules", async (_req, res) => {
res.json(db.timerRules ?? []);
});
router.post("/rules", async (req, res) => {
router.post("/rules", apiLimiter, async (req, res) => {
const parsed = ruleSchema.safeParse(req.body);
if (!parsed.success) {
return res.status(400).json({ error: parsed.error.flatten() });
@@ -34,7 +35,7 @@ router.post("/rules", async (req, res) => {
res.json(rule);
});
router.delete("/rules/:ruleId", async (req, res) => {
router.delete("/rules/:ruleId", apiLimiter, async (req, res) => {
const db = await readDb();
const next = (db.timerRules ?? []).filter((rule) => rule.id !== req.params.ruleId);
if (next.length === (db.timerRules ?? []).length) {