<?php

namespace common\logic\User\CreditHistory\Wrapper;

use common\logic\AbstractContainer;
use common\logic\User\CreditHistory\Model\CreditHistory;
use common\logic\User\CreditHistory\Repository\CreditHistoryRepository;
use common\logic\User\CreditHistory\Service\CreditHistoryBuilder;
use common\logic\User\CreditHistory\Service\CreditHistorySolver;

class CreditHistoryContainer extends AbstractContainer
{
    public function getEntityFqcn(): string
    {
        return CreditHistory::class;
    }

    public function getServices(): array
    {
        return [
            CreditHistorySolver::class,
            CreditHistoryBuilder::class,
            CreditHistoryRepository::class,
        ];
    }

    public function getSolver(): CreditHistorySolver
    {
        return CreditHistorySolver::getInstance();
    }

    public function getBuilder(): CreditHistoryBuilder
    {
        return CreditHistoryBuilder::getInstance();
    }

    public function getRepository(): CreditHistoryRepository
    {
        return CreditHistoryRepository::getInstance();
    }
}