import { createRoute, OpenAPIHono, z } from "@hono/zod-openapi"; import { verify } from "hono/jwt"; import { apiHit } from "../../../../globalUtils/apiHits.js"; import { responses } from "../../../../globalUtils/routeDefs/responses.js"; import { tryCatch } from "../../../../globalUtils/tryCatch.js"; import { authMiddleware } from "../../../auth/middleware/authMiddleware.js"; import { forecastIn } from "../../controller/dm/forecast/forecastIn.js"; import { ordersIn } from "../../controller/dm/ordersIn/ordersIn.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: "Post forecast to DM", method: "post", path: "/postforecastin", middleware: authMiddleware, // request: { // body: { // content: { // "application/json": { schema: Body }, // }, // }, // }, // description: // "Provided a running number and lot number you can consume material.", responses: responses(), }), async (c) => { apiHit(c, { endpoint: "/postforecastin" }); const body = await c.req.parseBody(); //console.log(body); // File | string // if (body["fileType"] === "standard") { // console.log(`doing standard orders in.`); // } const { data: orders, error } = await tryCatch( forecastIn(body, c.get("user")), ); if (error) { console.log(error); return c.json( { success: false, message: "Error posting forecast", data: error, }, 400, ); } return c.json({ success: orders?.success ?? false, message: orders?.message ?? "Error posting forecast", data: orders?.data ?? [], }); }, ); export default app;