package hib.fs.db.emf;

import io.quarkus.arc.InjectableInstance;
import io.quarkus.arc.Unremovable;
import io.quarkus.hibernate.orm.PersistenceUnit;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.persistence.EntityManagerFactory;
import jakarta.enterprise.inject.spi.CDI.*;

@Unremovable
@ApplicationScoped
public class DodexEntityManager {

    @PersistenceUnit("sqlserver")
    InjectableInstance<EntityManagerFactory> mssqlEntityManagerFactory;

    @PersistenceUnit("oracle")
    InjectableInstance<EntityManagerFactory> oraEntityManagerFactory;

    public EntityManagerFactory getMssqlEntityManagerFactory() {
        return mssqlEntityManagerFactory.listActive().isEmpty() ? null : mssqlEntityManagerFactory.listActive().get(0);
    }

    public EntityManagerFactory getOraEntityManagerFactory() {
        return oraEntityManagerFactory.listActive().isEmpty() ? null : oraEntityManagerFactory.listActive().get(0);
    }
}
