update project
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Domain\SchoolCore\Academics\Policies\DefaultGradeScalePolicy;
|
||||
use App\Domain\SchoolCore\Academics\Policies\DefaultPromotionPolicy;
|
||||
use App\Domain\SchoolCore\Attendance\Policies\StandardSchoolAttendancePolicy;
|
||||
use App\Domain\SchoolCore\Attendance\Providers\StandardAcademicCalendarProvider;
|
||||
use App\Domain\SchoolCore\Attendance\Services\AttendanceService;
|
||||
use App\Domain\SchoolCore\Communication\Policies\DefaultCommunicationPreferencePolicy;
|
||||
use App\Domain\SchoolCore\Communication\Services\CommunicationService;
|
||||
use App\Domain\SchoolCore\Communication\Services\RecipientResolver;
|
||||
use App\Domain\SchoolCore\Contracts\AcademicCalendarProviderContract;
|
||||
use App\Domain\SchoolCore\Contracts\AttendancePolicyContract;
|
||||
use App\Domain\SchoolCore\Contracts\AttendanceServiceContract;
|
||||
use App\Domain\SchoolCore\Contracts\CommunicationPreferencePolicyContract;
|
||||
use App\Domain\SchoolCore\Contracts\CommunicationServiceContract;
|
||||
use App\Domain\SchoolCore\Contracts\EnrollmentServiceContract;
|
||||
use App\Domain\SchoolCore\Contracts\FileAccessPolicyContract;
|
||||
use App\Domain\SchoolCore\Contracts\FileStorageServiceContract;
|
||||
use App\Domain\SchoolCore\Contracts\GradeScalePolicyContract;
|
||||
use App\Domain\SchoolCore\Contracts\GuardianServiceContract;
|
||||
use App\Domain\SchoolCore\Contracts\InvoiceServiceContract;
|
||||
use App\Domain\SchoolCore\Contracts\PaymentAllocationPolicyContract;
|
||||
use App\Domain\SchoolCore\Contracts\PaymentServiceContract;
|
||||
use App\Domain\SchoolCore\Contracts\PromotionPolicyContract;
|
||||
use App\Domain\SchoolCore\Contracts\RecipientResolverContract;
|
||||
use App\Domain\SchoolCore\Contracts\ReportServiceContract;
|
||||
use App\Domain\SchoolCore\Contracts\StudentIdentifierGeneratorContract;
|
||||
use App\Domain\SchoolCore\Contracts\StudentServiceContract;
|
||||
use App\Domain\SchoolCore\Enrollment\Services\EnrollmentService;
|
||||
use App\Domain\SchoolCore\Files\Policies\PaymentFileAccessPolicy;
|
||||
use App\Domain\SchoolCore\Files\Services\LaravelLocalFileStorageService;
|
||||
use App\Domain\SchoolCore\Finance\Policies\DefaultPaymentAllocationPolicy;
|
||||
use App\Domain\SchoolCore\Finance\Services\InvoiceService;
|
||||
use App\Domain\SchoolCore\Finance\Services\PaymentService;
|
||||
use App\Domain\SchoolCore\Guardians\Services\GuardianService;
|
||||
use App\Domain\SchoolCore\Reporting\Services\ReportService;
|
||||
use App\Domain\SchoolCore\Students\Services\SequentialStudentIdentifierGenerator;
|
||||
use App\Domain\SchoolCore\Students\Services\StudentService;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
|
||||
final class SchoolCoreServiceProvider extends ServiceProvider
|
||||
{
|
||||
public function register(): void
|
||||
{
|
||||
$this->app->bind(StudentServiceContract::class, StudentService::class);
|
||||
$this->app->bind(StudentIdentifierGeneratorContract::class, SequentialStudentIdentifierGenerator::class);
|
||||
$this->app->bind(GuardianServiceContract::class, GuardianService::class);
|
||||
$this->app->bind(EnrollmentServiceContract::class, EnrollmentService::class);
|
||||
$this->app->bind(AttendanceServiceContract::class, AttendanceService::class);
|
||||
$this->app->bind(AttendancePolicyContract::class, StandardSchoolAttendancePolicy::class);
|
||||
$this->app->bind(AcademicCalendarProviderContract::class, StandardAcademicCalendarProvider::class);
|
||||
$this->app->bind(GradeScalePolicyContract::class, DefaultGradeScalePolicy::class);
|
||||
$this->app->bind(PromotionPolicyContract::class, DefaultPromotionPolicy::class);
|
||||
$this->app->bind(InvoiceServiceContract::class, InvoiceService::class);
|
||||
$this->app->bind(PaymentServiceContract::class, PaymentService::class);
|
||||
$this->app->bind(PaymentAllocationPolicyContract::class, DefaultPaymentAllocationPolicy::class);
|
||||
$this->app->bind(FileAccessPolicyContract::class, PaymentFileAccessPolicy::class);
|
||||
$this->app->bind(FileStorageServiceContract::class, LaravelLocalFileStorageService::class);
|
||||
$this->app->bind(CommunicationServiceContract::class, CommunicationService::class);
|
||||
$this->app->bind(RecipientResolverContract::class, RecipientResolver::class);
|
||||
$this->app->bind(CommunicationPreferencePolicyContract::class, DefaultCommunicationPreferencePolicy::class);
|
||||
$this->app->bind(ReportServiceContract::class, ReportService::class);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user