import type { FastifyInstance } from "fastify"; import * as recentVisitsRepo from "../db/repositories/recentVisits.js"; export async function recentVisitsRoutes(app: FastifyInstance): Promise { app.get("/api/recent-visits", async (request) => { const query = request.query as { limit?: string }; const limit = query.limit ? Number(query.limit) : undefined; return recentVisitsRepo.listRecentVisits(limit); }); app.post("/api/recent-visits", async (request, reply) => { const body = request.body as { itemType?: string; itemId?: string } | undefined; if (body?.itemType !== "service" && body?.itemType !== "bookmark") { return reply.code(400).send({ error: "itemType muss 'service' oder 'bookmark' sein" }); } if (!body.itemId) { return reply.code(400).send({ error: "itemId erforderlich" }); } recentVisitsRepo.recordVisit(body.itemType, body.itemId); return reply.code(201).send({ ok: true }); }); app.delete("/api/recent-visits", async () => { recentVisitsRepo.clearRecentVisits(); return { ok: true }; }); }