import { Router } from "express"; import z from "zod"; import type { NewDatamart } from "../db/schema/datamart.schema.js"; import { apiReturn } from "../utils/returnHelper.utils.js"; const r = Router(); const newQuery = z.object({ name: z.string().min(5), description: z.string().min(30), query: z.string().min(10), options: z .string() .describe("This should be a set of keys separated by a comma") .optional(), }); r.post("/add", async (req, res) => { try { const v = newQuery.parse(req.body); const query: NewDatamart = { ...v }; console.log(query); } catch (err) { if (err instanceof z.ZodError) { const flattened = z.flattenError(err); // return res.status(400).json({ // error: "Validation failed", // details: flattened, // }); return apiReturn(res, { success: false, level: "error", //connect.success ? "info" : "error", module: "routes", subModule: "auth", message: "Validation failed", data: [flattened.fieldErrors], status: 400, //connect.success ? 200 : 400, }); } return apiReturn(res, { success: false, level: "error", module: "routes", subModule: "datamart", message: "connect.message", data: [{ connect: "" }], status: 200, }); } }); export default r;