| 123456789101112131415161718192021222324252627 |
- 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);
- }
- });
|