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

    Batch Operations for Educational Content Management

    Optimized bulk database operations specifically designed for educational platform needs. Essential for communities importing large amounts of educational content, managing user enrollments, or performing administrative tasks across many records.

    Educational Platform Use Cases:

    • Importing course content from existing educational materials
    • Bulk user enrollment for classroom or institutional deployments
    • Mass content updates (translations, corrections, enhancements)
    • Administrative operations across multiple courses or users
    • Data migration from other educational platforms

    Performance Benefits:

    • Transactional safety for data integrity
    • Optimized batch sizes for educational workloads
    • Detailed logging for administrative oversight
    • Error handling that preserves partial progress
    • Memory-efficient processing for large datasets

    Community Administrator Benefits:

    • Reliable bulk operations without database expertise
    • Progress tracking for long-running imports
    • Safe rollback capabilities for failed operations
    • Optimized performance for community hosting environments

    BatchOperations

    Index

    Methods

    • Batch Create Operations for Educational Content Import

      Efficiently creates multiple database records in optimized batches with full transactional safety. Ideal for communities importing educational content, setting up courses, or performing bulk administrative tasks.

      Educational Platform Applications:

      • Importing courses from educational content providers
      • Bulk creation of exercises and learning materials
      • Setting up user accounts for classroom deployments
      • Creating lesson sequences and learning paths
      • Importing translation data for multilingual content

      Safety Features:

      • Transactional batches ensure data consistency
      • Partial failure handling preserves completed work
      • Optimized batch sizes prevent memory issues
      • Detailed progress logging for administrators

      Type Parameters

      • T

      Parameters

      • model: string

        Prisma model name (e.g., 'course', 'lesson', 'user')

      • data: any[]

        Array of data objects to create

      • batchSize: number = 100

        Number of records per batch (default: 100, optimized for educational content)

      Returns Promise<T[]>

      Array of created records

      // Import courses for a community's language program
      const batchOps = new BatchOperations(prisma);
      const courses = await batchOps.batchCreate('course', courseData, 50);
      console.log(`Successfully imported ${courses.length} courses for the community`);
    • Batch Update Operations for Educational Content Management

      Efficiently updates multiple database records with optimized batching and transactional safety. Essential for community administrators managing content updates, user status changes, or platform-wide modifications.

      Educational Platform Applications:

      • Updating course content and translations
      • Modifying user enrollment status or progress
      • Applying content corrections across multiple lessons
      • Updating exercise difficulty or scoring
      • Bulk administrative changes for community management

      Administrative Benefits:

      • Safe bulk updates with rollback capability
      • Progress tracking for large update operations
      • Optimized performance for community hosting
      • Detailed logging for audit and troubleshooting

      Parameters

      • model: string

        Prisma model name for updates

      • updates: { where: any; data: any }[]

        Array of update operations with where conditions and data

      • batchSize: number = 50

        Number of updates per batch (default: 50, optimized for update operations)

      Returns Promise<number>

      Total number of records successfully updated

      // Update course visibility for community content management
      const updates = courses.map(course => ({
      where: { id: course.id },
      data: { is_public: true, updated_at: new Date() }
      }));
      const updated = await batchOps.batchUpdate('course', updates);
      console.log(`Updated ${updated} courses for community access`);