HOME


Mini Shell 1.0
Negocios La Pieza.DO | Registrate o Inicia Sesión

Inicie Sesión en su Cuenta de Negocios

Olvidó Contraseña?
DIR: /var/www/devs.lapieza.net/vendor/kreait/firebase-php/src/Firebase/Messaging/
Upload File :
Current File : //var/www/devs.lapieza.net/vendor/kreait/firebase-php/src/Firebase/Messaging/TopicSubscription.php
<?php

declare(strict_types=1);

namespace Kreait\Firebase\Messaging;

use DateTimeImmutable;
use JsonSerializable;

use const DATE_ATOM;

final class TopicSubscription implements JsonSerializable
{
    public function __construct(
        private readonly Topic $topic,
        private readonly RegistrationToken $registrationToken,
        private readonly DateTimeImmutable $subscribedAt,
    ) {
    }

    public function topic(): Topic
    {
        return $this->topic;
    }

    public function registrationToken(): RegistrationToken
    {
        return $this->registrationToken;
    }

    public function subscribedAt(): DateTimeImmutable
    {
        return $this->subscribedAt;
    }

    public function jsonSerialize(): array
    {
        return [
            'topic' => $this->topic->value(),
            'registration_token' => $this->registrationToken->value(),
            'subscribed_at' => $this->subscribedAt->format(DATE_ATOM),
        ];
    }
}