<?php

namespace Technical\Integrations\Enums;

/**
 * État d'une intégration (compte connecté chez un fournisseur externe).
 * Stocké en base comme string ("no-db-enums") : le cast Eloquent fait le lien avec ce PHP enum.
 */
enum IntegrationStatus: string
{
    case Connected = 'connected';
    case Revoked = 'revoked';
    case Error = 'error';

    /** Libellé court, utilisé le temps qu'aucune traduction dédiée ne soit nécessaire. */
    public function label(): string
    {
        return match ($this) {
            self::Connected => 'Connecté',
            self::Revoked => 'Révoqué',
            self::Error => 'Erreur',
        };
    }
}
