* integrate CoursePlansRepo.translateActivity, translateTopic, translateCoursePlan * move translation functions to requisite files * integrate translation endpoint * refactor: reorganize course-related repos, add request and response model classes * remove l2s from translation requests * update translation request and response models, use translation endpoint to get course info, cache courses with L1s in cache key * update topics repo to use translation endpoint * use activity translation endpoint * refactor: incremental loading of individual course info, account for discrepancy between translated IDs and original IDs * incremental loading of course batches * Update lib/pangea/course_plans/courses/course_plan_room_extension.dart Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * cleanup * cleanup * fix: some name changes * formatting --------- Co-authored-by: WilsonLe <leanhminh2907@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: wcjord <32568597+wcjord@users.noreply.github.com>
30 lines
639 B
Dart
30 lines
639 B
Dart
class CourseLocationModel {
|
|
String uuid;
|
|
String name;
|
|
List<String> mediaIds;
|
|
|
|
CourseLocationModel({
|
|
required this.uuid,
|
|
required this.name,
|
|
required this.mediaIds,
|
|
});
|
|
|
|
factory CourseLocationModel.fromJson(Map<String, dynamic> json) {
|
|
return CourseLocationModel(
|
|
uuid: json['uuid'] as String,
|
|
name: json['name'] as String,
|
|
mediaIds: (json['media_ids'] as List<dynamic>?)
|
|
?.map((e) => e as String)
|
|
.toList() ??
|
|
[],
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
return {
|
|
'uuid': uuid,
|
|
'name': name,
|
|
'media_ids': mediaIds,
|
|
};
|
|
}
|
|
}
|