Exercise data access repository providing comprehensive CRUD operations and type-specific querying
capabilities for the WayrApp language learning platform. This repository serves as the primary
data access layer for exercise management, handling all database interactions through Prisma ORM
with advanced filtering patterns, type-based querying, and robust data transformation operations.
The repository supports multiple exercise types including translation, fill-in-the-blank, true/false
(vof), pairs matching, informative content, and ordering exercises. Each exercise type maintains
flexible JSON data structures while providing consistent access patterns through standardized
repository methods. The system handles automatic type transformation between API format (dash-separated)
and database format (underscore-separated) for seamless integration.
Key architectural features include automatic data mapping between database schema and application models,
type-specific filtering capabilities, bulk retrieval operations for lesson assembly, and comprehensive
pagination support. The repository integrates with shared repository helper utilities for consistent
query building patterns and provides optimized querying for exercise discovery and content management.
Exercise data management includes flexible JSON storage for type-specific configurations, efficient
type-based filtering for content organization, bulk operations for lesson construction, and consistent
field name transformation for API compatibility. The repository maintains referential integrity while
providing flexible querying options essential for content delivery and management systems.
Author
Exequiel Trujillo
Since
1.0.0
Example
// Initialize repository with Prisma client constexerciseRepository = newExerciseRepository(prisma);
Exercise data access repository providing comprehensive CRUD operations and type-specific querying capabilities for the WayrApp language learning platform. This repository serves as the primary data access layer for exercise management, handling all database interactions through Prisma ORM with advanced filtering patterns, type-based querying, and robust data transformation operations.
The repository supports multiple exercise types including translation, fill-in-the-blank, true/false (vof), pairs matching, informative content, and ordering exercises. Each exercise type maintains flexible JSON data structures while providing consistent access patterns through standardized repository methods. The system handles automatic type transformation between API format (dash-separated) and database format (underscore-separated) for seamless integration.
Key architectural features include automatic data mapping between database schema and application models, type-specific filtering capabilities, bulk retrieval operations for lesson assembly, and comprehensive pagination support. The repository integrates with shared repository helper utilities for consistent query building patterns and provides optimized querying for exercise discovery and content management.
Exercise data management includes flexible JSON storage for type-specific configurations, efficient type-based filtering for content organization, bulk operations for lesson construction, and consistent field name transformation for API compatibility. The repository maintains referential integrity while providing flexible querying options essential for content delivery and management systems.
Author
Exequiel Trujillo
Since
1.0.0
Example