package io.cattle.iaas.healthcheck.service.impl;
import static io.cattle.platform.core.model.tables.HostTable.HOST;
import io.cattle.iaas.healthcheck.service.HealthcheckInstancesLookup;
import io.cattle.platform.core.model.Agent;
import io.cattle.platform.core.model.Host;
import io.cattle.platform.core.model.Instance;
import io.cattle.platform.db.jooq.dao.impl.AbstractJooqDao;
import io.cattle.platform.object.ObjectManager;
import io.cattle.platform.servicediscovery.api.dao.ServiceDao;
import java.util.List;
import javax.inject.Inject;
public class AgentHealthcheckInstancesLookup extends AbstractJooqDao implements HealthcheckInstancesLookup {
@Inject
ServiceDao serviceDao;
@Inject
ObjectManager objectManager;
@Override
public List<? extends Instance> getInstances(Object obj) {
Host host = null;
if (obj instanceof Agent) {
Agent agent = (Agent) obj;
host = objectManager.findAny(Host.class, HOST.AGENT_ID, agent.getId(), HOST.REMOVED, null);
} else if (obj instanceof Host) {
host = (Host) obj;
}
if (host == null) {
return null;
}
return serviceDao.getInstancesWithHealtcheckEnabled(host.getAccountId());
}
}