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 { getPPOO } from "../controller/warehouse/ppoo/getPPOO.js"; import { apiHit } from "../../../globalUtils/apiHits.js"; import { createSSCC } from "../../../globalUtils/createSSCC.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 returns sscc based on running number", method: "post", path: "/getsscc", // 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: "/getsscc" }); const { data, error: bodyError } = (await tryCatch( c.req.json() )) as any; if (bodyError) { return c.json({ success: false, message: "Missing critical data.", data: bodyError, }); } if (!data.runningNr) { return c.json({ success: false, message: "Missing critical data.", data: [], }); } const { data: sscc, error } = await tryCatch( createSSCC(data.runningNr) ); if (error) { return c.json({ success: false, message: "Error creating sscc.", data: error, }); } return c.json({ success: true, message: "SSCC", data: sscc, }); } ); export default app;