Update Saqel Platform: 2026-09-05 22:08:42
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
import '../models/directorate_models.dart';
|
||||
import '../../services/directorate_api_service.dart';
|
||||
|
||||
/// Repository for Directorate and School Principal operations
|
||||
class DirectorateRepository {
|
||||
final DirectorateApiService _apiService;
|
||||
|
||||
DirectorateRepository({DirectorateApiService? apiService})
|
||||
: _apiService = apiService ?? DirectorateApiService();
|
||||
|
||||
/// Fetch full directorate command dashboard
|
||||
Future<Map<String, dynamic>> getDirectorateDashboard() async {
|
||||
return await DirectorateApiService.fetchDirectorateDashboard();
|
||||
}
|
||||
|
||||
/// Fetch school principal dashboard by school ID
|
||||
Future<Map<String, dynamic>> getSchoolDashboard({int schoolId = 1}) async {
|
||||
return await DirectorateApiService.fetchSchoolDashboard(schoolId: schoolId);
|
||||
}
|
||||
|
||||
/// Record field lesson observation
|
||||
Future<Map<String, dynamic>> recordLesson({
|
||||
required int schoolId,
|
||||
required String teacherName,
|
||||
required String subject,
|
||||
required String topic,
|
||||
required double score,
|
||||
required String notes,
|
||||
}) async {
|
||||
return await DirectorateApiService.recordFieldObservation(
|
||||
schoolId: schoolId,
|
||||
teacherName: teacherName,
|
||||
subject: subject,
|
||||
topic: topic,
|
||||
score: score,
|
||||
notes: notes,
|
||||
);
|
||||
}
|
||||
|
||||
/// Push unified exam to computer lab
|
||||
Future<Map<String, dynamic>> pushExamToLab({
|
||||
required int schoolId,
|
||||
required String examTitle,
|
||||
required String labName,
|
||||
required int deviceCount,
|
||||
}) async {
|
||||
return await DirectorateApiService.pushExamToLab(
|
||||
schoolId: schoolId,
|
||||
examTitle: examTitle,
|
||||
labName: labName,
|
||||
deviceCount: deviceCount,
|
||||
);
|
||||
}
|
||||
|
||||
/// Evaluate session integrity
|
||||
Future<Map<String, dynamic>> evaluateIntegrity({
|
||||
required int sessionId,
|
||||
required String schoolCode,
|
||||
}) async {
|
||||
return await DirectorateApiService.evaluateSessionIntegrity(
|
||||
sessionId: sessionId,
|
||||
schoolCode: schoolCode,
|
||||
);
|
||||
}
|
||||
|
||||
/// Dispatch reports to parents via WhatsApp
|
||||
Future<Map<String, dynamic>> dispatchParentReports({
|
||||
required int schoolId,
|
||||
required String grade,
|
||||
}) async {
|
||||
return await DirectorateApiService.dispatchParentReports(
|
||||
schoolId: schoolId,
|
||||
grade: grade,
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user