// an external way to creating logs import {createRoute, OpenAPIHono, z} from "@hono/zod-openapi"; import {apiHit} from "../../../globalUtils/apiHits.js"; import {responses} from "../../../globalUtils/routeDefs/responses.js"; import type {User} from "../../../types/users.js"; import {verify} from "hono/jwt"; import {manualPrint} from "../controller/manualLabelLog.js"; import {authMiddleware} from "../../auth/middleware/authMiddleware.js"; const app = new OpenAPIHono({strict: false}); const CreateLog = z.object({ line: z.string().openapi({example: "info"}), initials: z.string().openapi({example: "server"}), printReason: z.string().openapi({example: "This is a new log posted"}), additionalComments: z.string().optional().openapi({example: "Some reason why we did this."}), }); app.openapi( createRoute({ tags: ["ocp"], summary: "Post the log for manaulprinting.", method: "post", path: "/manuallabellog", //middleware: authMiddleware, //description: "This might be a temp soltuin during the transtion between versions", request: { body: {content: {"application/json": {schema: CreateLog}}}, }, responses: responses(), }), async (c) => { const body = await c.req.json(); apiHit(c, {endpoint: `api/logger/logs/id`}); // const authHeader = c.req.header("Authorization"); // const token = authHeader?.split("Bearer ")[1] || ""; // let user: User; // try { // const payload = await verify(token, process.env.JWT_SECRET!); // user = payload.user as User; // } catch (error) { // console.log(error); // return c.json({message: "Unauthorized"}, 401); // } try { //const data = {...body, add_user: user.username}; await manualPrint(body); return c.json({success: true, message: "Manual Print was added.", data: []}, 200); } catch (error) { return c.json({success: false, message: "There was an error clearing the log.", data: error}, 400); } } ); export default app;