import { createProgram } from "@/utils/planetscale/create-program"; import { TRPCError } from '@trpc/server'; import { z } from "zod"; import { procedure, router } from "../trpc"; export const programRouter = router({ createProgram: procedure .input(z.object({ programData: z.object({ name: z.string(), description: z.string(), category: z.string(), difficulty: z.array(z.number()), exercises: z.array(z.object({ id: z.string(), reps: z.string(), sets: z.string(), rest: z.string(), })), }) })) .mutation(async ({ ctx, input }) => { try { const { programData } = input; await createProgram(programData, ctx.req, ctx.res); } catch (error) { console.log(error) if (error instanceof TRPCError) throw error; throw new TRPCError({ code: 'INTERNAL_SERVER_ERROR', message: (error as Error).message, cause: error }); } }), })