package dev.lions.unionflow.server.repository;

import dev.lions.unionflow.server.entity.IntentionPaiement;
import jakarta.enterprise.context.ApplicationScoped;

import java.util.Optional;
import java.util.UUID;

/**
 * Repository pour l'entité IntentionPaiement (hub paiement Wave).
 *
 * @author UnionFlow Team
 */
@ApplicationScoped
public class IntentionPaiementRepository extends BaseRepository<IntentionPaiement> {

    public IntentionPaiementRepository() {
        super(IntentionPaiement.class);
    }

    public Optional<IntentionPaiement> findByWaveCheckoutSessionId(String waveCheckoutSessionId) {
        if (waveCheckoutSessionId == null || waveCheckoutSessionId.isBlank()) {
            return Optional.empty();
        }
        return find("waveCheckoutSessionId", waveCheckoutSessionId).firstResultOptional();
    }
}
