revert 9f3b2cbb24
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:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user