move service logic from grading and administrator controller
Deploy to Shared Hosting / Shared hosting deploy (push) Failing after 47s
Tests / PHPUnit (push) Successful in 1m16s

This commit is contained in:
root
2026-08-20 16:59:51 -04:00
parent 383bbb7269
commit 2b0206e7f2
12 changed files with 8421 additions and 6983 deletions
+163
View File
@@ -329,4 +329,167 @@ class Services extends BaseService
new \App\Libraries\InvoiceLedgerService()
);
}
public static function enrollmentWithdrawal(bool $getShared = true): \App\Services\EnrollmentWithdrawalService
{
if ($getShared) {
return static::getSharedInstance('enrollmentWithdrawal');
}
$db = \Config\Database::connect();
return new \App\Services\EnrollmentWithdrawalService(
$db,
model(\App\Models\StudentModel::class),
model(\App\Models\EnrollmentModel::class),
model(\App\Models\StudentClassModel::class),
model(\App\Models\ClassSectionModel::class),
model(\App\Models\UserModel::class),
model(\App\Models\InvoiceModel::class),
model(\App\Models\RefundModel::class)
);
}
public static function teacherSubmissionReport(bool $getShared = true): \App\Services\TeacherSubmissionReportService
{
if ($getShared) {
return static::getSharedInstance('teacherSubmissionReport');
}
return new \App\Services\TeacherSubmissionReportService(
\Config\Database::connect(),
model(\App\Models\ConfigurationModel::class),
model(\App\Models\StudentClassModel::class),
model(\App\Models\ClassSectionModel::class),
model(\App\Models\UserModel::class)
);
}
public static function administratorDashboard(bool $getShared = true): \App\Services\AdministratorDashboardService
{
if ($getShared) {
return static::getSharedInstance('administratorDashboard');
}
return new \App\Services\AdministratorDashboardService(
\Config\Database::connect(),
model(\App\Models\UserModel::class),
model(\App\Models\LoginActivityModel::class)
);
}
public static function adminNotificationSettings(bool $getShared = true): \App\Services\AdminNotificationSettingsService
{
if ($getShared) {
return static::getSharedInstance('adminNotificationSettings');
}
return new \App\Services\AdminNotificationSettingsService(
\Config\Database::connect(),
model(\App\Models\AdminNotificationSubjectModel::class)
);
}
public static function administratorDirectory(bool $getShared = true): \App\Services\AdministratorDirectoryService
{
if ($getShared) {
return static::getSharedInstance('administratorDirectory');
}
return new \App\Services\AdministratorDirectoryService(
\Config\Database::connect(),
model(\App\Models\StudentClassModel::class),
model(\App\Models\UserModel::class),
model(\App\Models\UserRoleModel::class),
model(\App\Models\InvoiceModel::class),
model(\App\Models\StudentModel::class)
);
}
public static function gradingScore(bool $getShared = true): \App\Services\GradingScoreService
{
if ($getShared) {
return static::getSharedInstance('gradingScore');
}
$configModel = model(\App\Models\ConfigurationModel::class);
$attendanceCalculator = new \App\Services\Calculators\AttendanceCalculator(
model(\App\Models\AttendanceRecordModel::class),
$configModel,
model(\App\Models\CalendarModel::class)
);
return new \App\Services\GradingScoreService(
\Config\Database::connect(),
$configModel,
model(\App\Models\HomeworkModel::class),
model(\App\Models\UserModel::class),
model(\App\Models\StudentClassModel::class),
model(\App\Models\StudentModel::class),
model(\App\Models\TeacherClassModel::class),
model(\App\Models\ClassSectionModel::class),
$attendanceCalculator,
model(\App\Models\GradingLockModel::class),
static::semesterScoreService(),
(string) $configModel->getConfig('school_year'),
(string) getSemester()
);
}
public static function placementGrading(bool $getShared = true): \App\Services\PlacementGradingService
{
if ($getShared) {
return static::getSharedInstance('placementGrading');
}
$configModel = model(\App\Models\ConfigurationModel::class);
return new \App\Services\PlacementGradingService(
\Config\Database::connect(),
model(\App\Models\StudentModel::class),
model(\App\Models\PlacementLevelModel::class),
model(\App\Models\PlacementBatchModel::class),
model(\App\Models\PlacementScoreModel::class),
(string) $configModel->getConfig('school_year')
);
}
public static function belowSixty(bool $getShared = true): \App\Services\BelowSixtyService
{
if ($getShared) {
return static::getSharedInstance('belowSixty');
}
$configModel = model(\App\Models\ConfigurationModel::class);
return new \App\Services\BelowSixtyService(
\Config\Database::connect(),
$configModel,
model(\App\Models\StudentModel::class),
model(\App\Models\StudentClassModel::class),
model(\App\Models\ParentMeetingScheduleModel::class),
model(\App\Models\UserModel::class),
(string) $configModel->getConfig('school_year'),
(string) getSemester()
);
}
public static function studentDecision(bool $getShared = true): \App\Services\StudentDecisionService
{
if ($getShared) {
return static::getSharedInstance('studentDecision');
}
$configModel = model(\App\Models\ConfigurationModel::class);
return new \App\Services\StudentDecisionService(
\Config\Database::connect(),
$configModel,
model(\App\Models\StudentModel::class),
model(\App\Models\StudentClassModel::class),
model(\App\Models\UserModel::class),
(string) $configModel->getConfig('school_year'),
(string) getSemester()
);
}
}