<?php

namespace domain\Subscription\ProductSubscription;

use domain\_\AbstractModule;

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

    public function getDefinition(): ProductSubscriptionDefinition
    {
        return ProductSubscriptionDefinition::getInstance();
    }

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

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