<?php

namespace domain\Ticket\Ticket;

use domain\_\AbstractModule;

class TicketModule extends AbstractModule
{
    public function getServices(): array
    {
        return [
            TicketDefinition::class,
            TicketSolver::class,
            TicketRepository::class,
            TicketBuilder::class,
            TicketNotifier::class,
        ];
    }

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

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

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

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

    public function getNotifier(): TicketNotifier
    {
        return TicketNotifier::getInstance();
    }
}