<?php

namespace App\Notifications\Push\Prestador\Transacional;

use App\Enums\PushNotificationCategoryEnum;
use App\Enums\PushNotificationTargetEnum;
use App\Notifications\Push\BasePushNotification;
use Illuminate\Database\Eloquent\Collection;

/**
 * Push transacional disparada no momento em que o cadastro do prestador é aprovado.
 *
 * Não é registrada no PushNotificationDispatcher: o envio parte do
 * ProviderService, não da varredura do scheduler.
 */
class CadastroAprovadoPush extends BasePushNotification
{
    public function label(): string
    {
        return 'provider_cadastro_aprovado';
    }

    public function title(): string
    {
        return 'Cadastro aprovado! 🎉';
    }

    public function body(): string
    {
        return 'Boas-vindas ao diária app. Seu perfil foi aprovado e você já pode receber diárias.';
    }

    public function target(): PushNotificationTargetEnum
    {
        return PushNotificationTargetEnum::PRESTADOR;
    }

    public function category(): PushNotificationCategoryEnum
    {
        return PushNotificationCategoryEnum::TRANSACIONAL;
    }

    public function notificationCooldownDays(): int
    {
        return 0;
    }

    public function categoryCooldownDays(): int
    {
        return 0;
    }

    /**
     * Nunca é elegível por varredura — o disparo é sempre pontual.
     */
    public function eligibleUsers(): Collection
    {
        return new Collection;
    }
}
