package dev.lions.unionflow.server.repository;

import dev.lions.unionflow.server.entity.ParametresCotisationOrganisation;
import io.quarkus.hibernate.orm.panache.PanacheRepositoryBase;
import jakarta.enterprise.context.ApplicationScoped;
import java.util.List;
import java.util.Optional;
import java.util.UUID;

@ApplicationScoped
public class ParametresCotisationOrganisationRepository
    implements PanacheRepositoryBase<ParametresCotisationOrganisation, UUID> {

    public Optional<ParametresCotisationOrganisation> findByOrganisationId(UUID organisationId) {
        return find("organisation.id = ?1", organisationId).firstResultOptional();
    }

    /** Retourne toutes les organisations ayant activé la génération automatique. */
    public List<ParametresCotisationOrganisation> findAvecGenerationAutomatiqueActivee() {
        return find("generationAutomatiqueActivee = true AND actif = true").list();
    }
}
