// Auto-generated ActivityLog routes import type { FastifyInstance } from "fastify"; import { authenticate } from "../middleware/auth.js"; import { ActivityLogService } from "../services/activity_log.js"; import type { CreateActivityLogInput, UpdateActivityLogInput } from "../types/index.js"; const service = new ActivityLogService(); export async function activity_logsRoutes(app: FastifyInstance): Promise { // All routes require authentication app.addHook("onRequest", authenticate); // GET /api/activity_logs — list app.get("/", async (request, reply) => { const items = service.list(); return { data: items }; }); // GET /api/activity_logs/:id — get by id app.get<{ Params: { id: string } }>("/:id", async (request, reply) => { const item = service.getById(request.params.id); if (!item) { return reply.status(404).send({ error: "Not Found", message: "ActivityLog not found", statusCode: 404 }); } return { data: item }; }); // POST /api/activity_logs — create app.post<{ Body: CreateActivityLogInput }>("/", async (request, reply) => { const item = service.create(request.body); return reply.status(201).send({ data: item }); }); // PUT /api/activity_logs/:id — update app.put<{ Params: { id: string }; Body: UpdateActivityLogInput }>("/:id", async (request, reply) => { const item = service.update(request.params.id, request.body); if (!item) { return reply.status(404).send({ error: "Not Found", message: "ActivityLog not found", statusCode: 404 }); } return { data: item }; }); // DELETE /api/activity_logs/:id — delete app.delete<{ Params: { id: string } }>("/:id", async (request, reply) => { const deleted = service.delete(request.params.id); if (!deleted) { return reply.status(404).send({ error: "Not Found", message: "ActivityLog not found", statusCode: 404 }); } return reply.status(204).send(); }); }