Files
lstV2/server/services/logistics/route/getSSCCNumber.ts
Blake Matthes 7df512acaa feat(logistics): get sscc based on runnning number
returns the sscc based on the running number more for support and testing the endpoints
2025-06-20 11:17:39 -05:00

77 lines
2.3 KiB
TypeScript

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;