<?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);
    }
}
