import { Router } from "express"; import { z } from "zod"; import { listDocuments, deleteDocumentsBySource } from "../services/documentsService.js"; import { requireUser } from "../middleware/requireUser.js"; export const documentsRouter = Router(); documentsRouter.get("/", requireUser, async (req, res, next) => { try { const limit = z.coerce.number().int().positive().max(200).catch(50).parse(req.query.limit); const offset = z.coerce.number().int().nonnegative().optional().parse(req.query.offset); const result = await listDocuments({ limit, offset }); res.json(result); } catch (err) { next(err); } }); documentsRouter.delete("/source/:source", requireUser, async (req, res, next) => { try { const source = z.string().min(1).max(255).parse(decodeURIComponent(req.params.source)); await deleteDocumentsBySource(source); res.json({ ok: true }); } catch (err) { next(err); } });