Files
laravel_school_api_old/app/Providers/SchoolCoreFinanceServiceProvider.php
2026-05-29 04:33:03 -04:00

39 lines
1.9 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Providers;
use App\Domain\SchoolCore\Finance\Contracts\ChargeServiceContract;
use App\Domain\SchoolCore\Finance\Contracts\FinanceAuditLoggerContract;
use App\Domain\SchoolCore\Finance\Contracts\FinanceFileServiceContract;
use App\Domain\SchoolCore\Finance\Contracts\InvoiceServiceContract;
use App\Domain\SchoolCore\Finance\Contracts\PaymentAllocationPolicyContract;
use App\Domain\SchoolCore\Finance\Contracts\PaymentServiceContract;
use App\Domain\SchoolCore\Finance\Contracts\RefundServiceContract;
use App\Domain\SchoolCore\Finance\Contracts\TuitionPolicyContract;
use App\Domain\SchoolCore\Finance\Policies\DefaultPaymentAllocationPolicy;
use App\Domain\SchoolCore\Finance\Policies\DefaultTuitionPolicy;
use App\Domain\SchoolCore\Finance\Services\ChargeService;
use App\Domain\SchoolCore\Finance\Services\FinanceAuditLogger;
use App\Domain\SchoolCore\Finance\Services\InvoiceService;
use App\Domain\SchoolCore\Finance\Services\PaymentFileService;
use App\Domain\SchoolCore\Finance\Services\PaymentService;
use App\Domain\SchoolCore\Finance\Services\RefundService;
use Illuminate\Support\ServiceProvider;
final class SchoolCoreFinanceServiceProvider extends ServiceProvider
{
public function register(): void
{
$this->app->bind(PaymentServiceContract::class, PaymentService::class);
$this->app->bind(InvoiceServiceContract::class, InvoiceService::class);
$this->app->bind(RefundServiceContract::class, RefundService::class);
$this->app->bind(ChargeServiceContract::class, ChargeService::class);
$this->app->bind(FinanceFileServiceContract::class, PaymentFileService::class);
$this->app->bind(FinanceAuditLoggerContract::class, FinanceAuditLogger::class);
$this->app->bind(PaymentAllocationPolicyContract::class, DefaultPaymentAllocationPolicy::class);
$this->app->bind(TuitionPolicyContract::class, DefaultTuitionPolicy::class);
}
}