super-fit-web-app / src / utils / planetscale / create-program.ts
create-program.ts
Raw
import { db } from "@/db/PrismaClient";
import { ProgramDataProps } from "@/pages/dashboard/create-program";
import { NextApiRequest, NextApiResponse } from 'next';
import { getSession } from "./session";

export const createProgram = async (programData: ProgramDataProps, req: NextApiRequest, res: NextApiResponse) => {
  const sessionData = await getSession(req, res);

  /*if (!sessionData.session_valid || !sessionData.user.isAdmin) {
    throw new Error("You must be logged in or be an admin to create a program");
  }*/

  const newProgram = await db.program.create({
    data: {
      name: programData.name,
      description: programData.description,
      category: programData.category,
      goal: '', // You need to provide a value for this
      level: '', // You need to provide a value for this
      image: '', // You need to provide a value for this
      duration: '',
      exercises: {
        create: programData.exercises.map((exercise, index) => ({
          position: index + 1,
          exerciseId: exercise.id,
          reps: exercise.reps,
          sets: exercise.sets,
          rest: exercise.rest,
        })),
      },
    }
  });

  console.log(newProgram);
}