Update Saqel Platform: 2026-09-05 22:08:42

This commit is contained in:
Hamza-Ayed
2026-09-05 22:08:42 +03:00
parent 368f68cc97
commit 68265a5bc6
20 changed files with 4009 additions and 18 deletions
@@ -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,
);
}
}