<?php

namespace common\logic\Subscription\ProductSubscription\Wrapper;

use common\logic\AbstractContainer;
use common\logic\Subscription\ProductSubscription\Model\ProductSubscription;
use common\logic\Subscription\ProductSubscription\Repository\ProductSubscriptionRepository;
use common\logic\Subscription\ProductSubscription\Service\ProductSubscriptionBuilder;

class ProductSubscriptionContainer extends AbstractContainer
{
    public function getEntityFqcn(): string
    {
        return ProductSubscription::class;
    }

    public function getServices(): array
    {
        return [
            ProductSubscriptionRepository::class,
            ProductSubscriptionBuilder::class
        ];
    }

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

    public function getFactory(): ProductSubscriptionBuilder
    {
        return ProductSubscriptionBuilder::getInstance();
    }
}