<?php

declare(strict_types=1);

namespace Seka\Portal\Modul\Terminy\Notifications;

use Seka\Portal\Core\Notifications\FirebaseCloudMessaging\Messages\Data\Enums\MessageDataMethodEnum;
use Seka\Portal\Core\Notifications\FirebaseCloudMessaging\Messages\Data\Enums\MessageDataSourceEnum;
use Seka\Portal\Core\Notifications\FirebaseCloudMessaging\Messages\Data\Enums\MessageDataTypeEnum;
use Seka\Portal\Core\Notifications\FirebaseCloudMessaging\Messages\Data\MessageDataContainerContract;
use Seka\Portal\Core\Notifications\FirebaseCloudMessaging\Messages\MessageDataBuilder;

/**
 * Class MAAG2MessageDataBuilder
 *
 * @package Seka\Portal\Modul\Terminy\Notifications
 */
final class MAAG2MessageDataBuilder
{
    /**
     * @param \Seka\Portal\Core\Notifications\FirebaseCloudMessaging\Messages\Data\Enums\MessageDataTypeEnum   $type
     * @param \Seka\Portal\Core\Notifications\FirebaseCloudMessaging\Messages\Data\Enums\MessageDataMethodEnum $method
     * @param array                                                                                            $arguments
     *
     * @return \Seka\Portal\Core\Notifications\FirebaseCloudMessaging\Messages\Data\MessageDataContainerContract
     */
    public static function make(MessageDataTypeEnum $type, MessageDataMethodEnum $method, array $arguments = []): MessageDataContainerContract
    {
        $source = MessageDataSourceEnum::PORTAL_TERMINY();

        return MessageDataBuilder::make($source, $type, $method, $arguments);
    }
}
