/var/www/html/back/app/Providers/RepositoryServiceProvider.php
<?php

declare(strict_types=1);

namespace App\Providers;

use App\Repositories\CashFlowIndex\Interfaces\PaymentDistributionsRepositoryInterface;
use App\Repositories\CashFlowIndex\PaymentDistributionsRepository;
use Illuminate\Support\ServiceProvider;

final class RepositoryServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     */
    public function register(): void
    {

        $this->app->bind(
            PaymentDistributionsRepositoryInterface::class,
            PaymentDistributionsRepository::class
        );


        $this->app->bind(
            abstract: \App\Repositories\CashFlowIndex\Interfaces\TotalAmountRepositoryInterface::class,
            concrete: \App\Repositories\CashFlowIndex\TotalAmountRepository::class
        );

        $this->app->bind(
            abstract: \App\Repositories\User\Interfaces\UserInterface::class,
            concrete: \App\Repositories\User\UserRepository::class
        );

        $this->app->bind(
            abstract: \App\Repositories\Model\Interfaces\ModelInterface::class,
            concrete: \App\Repositories\Model\ModelRepository::class
        );

        $this->app->bind(
            abstract: \App\Repositories\Integrations\Interfaces\IntegrationInterface::class,
            concrete: \App\Repositories\Integrations\IntegrationRepository::class
        );

        $this->app->bind(
            abstract: \App\Repositories\ProjectGroup\Interfaces\PaymentByArticleRepositoryInterface::class,
            concrete: \App\Repositories\ProjectGroup\PaymentByArticleRepository::class
        );

    }
}