import { createRoute, OpenAPIHono, z } from "@hono/zod-openapi"; import { responses } from "../../../globalUtils/routeDefs/responses.js"; import { tryCatch } from "../../../globalUtils/tryCatch.js"; import { getCycleCountCheck } from "../controller/warehouse/cycleCountChecks/getCycleCountCheck.js"; import { apiHit } from "../../../globalUtils/apiHits.js"; const app = new OpenAPIHono(); const Body = z .object({ age: z.number().optional().openapi({ example: 90 }), //email: z.string().optional().openapi({example: "s.smith@example.com"}), type: z.string().optional().openapi({ example: "fg" }), }) .openapi("User"); app.openapi( createRoute({ tags: ["logistics"], summary: "Returns lanes that need cycle counted", method: "post", path: "/cyclecountcheck", request: { body: { content: { "application/json": { schema: Body }, }, }, }, // description: // "Provided a running number and lot number you can consume material.", responses: responses(), }), async (c: any) => { apiHit(c, { endpoint: "/cyclecountcheck" }); const { data: body, error: be } = await tryCatch(c.req.json()); if (be) { return c.json({ success: false, message: "Missing Data." }); } const check: any = body ?? { age: 90, type: null }; const { data: lanes, error: le } = await tryCatch( getCycleCountCheck(check.age, check.type) ); if (le) { return c.json({ success: false, message: "Error getting lane data.", data: le, }); } return c.json({ success: lanes.success, message: lanes.message, data: lanes.data, }); } ); export default app;