WayrApp Backend & Ecosystem Documentation - v1.0.0
    Preparing search index...

    Variable ExerciseReorderSchemaConst

    ExerciseReorderSchema: ZodObject<
        { exercise_ids: ZodArray<ZodString, "many"> },
        "strip",
        ZodTypeAny,
        { exercise_ids: string[] },
        { exercise_ids: string[] },
    > = ...

    Exercise reordering validation schema for content management

    Validation schema for bulk reordering of exercises within lessons or other content contexts. This schema supports content management operations that require updating the sequence of multiple exercises simultaneously, ensuring efficient content organization and user experience optimization.

    The reordering schema validates that at least one exercise is included in the reordering operation and ensures all exercise identifiers are properly formatted. This supports batch operations that maintain content integrity while allowing flexible content organization.

    // Reordering exercises in a lesson
    const reorderData = {
    exercise_ids: ['vocab-003', 'trans-001', 'fill-002', 'pairs-004']
    };
    // Exercise reordering endpoint
    router.put('/lessons/:lessonId/exercises/reorder',
    validate({ body: ExerciseReorderSchema }),
    async (req, res) => {
    const { exercise_ids } = req.body;
    const reorderedExercises = await lessonService.reorderExercises(
    req.params.lessonId,
    exercise_ids
    );
    res.json({ exercises: reorderedExercises });
    }
    );
    // Batch exercise management
    const batchUpdateSchema = z.object({
    operations: z.array(z.union([
    z.object({ type: z.literal('reorder'), data: ExerciseReorderSchema }),
    z.object({ type: z.literal('assign'), data: LessonExerciseSchema })
    ]))
    });