diff --git a/src/models/WorkoutTemplate.ts b/src/models/WorkoutTemplate.ts index cc26b7b..aa696a6 100644 --- a/src/models/WorkoutTemplate.ts +++ b/src/models/WorkoutTemplate.ts @@ -66,13 +66,7 @@ const ExerciseSchema = new mongoose.Schema({ }, sets: { type: [SetSchema], - required: true, - validate: { - validator: function(sets: ISet[]) { - return sets.length > 0; - }, - message: 'An exercise must have at least one set' - } + default: [] }, restTime: { type: Number, diff --git a/src/routes/api/fitness/templates/+server.ts b/src/routes/api/fitness/templates/+server.ts index 93e9244..a1faacc 100644 --- a/src/routes/api/fitness/templates/+server.ts +++ b/src/routes/api/fitness/templates/+server.ts @@ -53,14 +53,8 @@ export const POST: RequestHandler = async ({ request, locals }) => { // Validate exercises structure for (const exercise of exercises) { - if (!exercise.exerciseId || !exercise.sets || !Array.isArray(exercise.sets) || exercise.sets.length === 0) { - return json({ error: 'Each exercise must have an exerciseId and at least one set' }, { status: 400 }); - } - - for (const set of exercise.sets) { - if (!set.reps || typeof set.reps !== 'number' || set.reps < 1) { - return json({ error: 'Each set must have valid reps (minimum 1)' }, { status: 400 }); - } + if (!exercise.exerciseId) { + return json({ error: 'Each exercise must have an exerciseId' }, { status: 400 }); } } diff --git a/src/routes/api/fitness/templates/[id]/+server.ts b/src/routes/api/fitness/templates/[id]/+server.ts index 7b6e492..981685e 100644 --- a/src/routes/api/fitness/templates/[id]/+server.ts +++ b/src/routes/api/fitness/templates/[id]/+server.ts @@ -60,14 +60,8 @@ export const PUT: RequestHandler = async ({ params, request, locals }) => { // Validate exercises structure for (const exercise of exercises) { - if (!exercise.name || !exercise.sets || !Array.isArray(exercise.sets) || exercise.sets.length === 0) { - return json({ error: 'Each exercise must have a name and at least one set' }, { status: 400 }); - } - - for (const set of exercise.sets) { - if (!set.reps || typeof set.reps !== 'number' || set.reps < 1) { - return json({ error: 'Each set must have valid reps (minimum 1)' }, { status: 400 }); - } + if (!exercise.exerciseId) { + return json({ error: 'Each exercise must have an exerciseId' }, { status: 400 }); } }