package cz.senslog.analytics.repository;

import cz.senslog.analytics.domain.*;
import io.vertx.core.Future;

import java.util.List;
import java.util.Map;

public interface ConfigurationRepository {

    Future<Map<Sensor, List<Group>>> loadSensorToGroupsMapping();

    Future<List<Threshold>> loadSensorThresholds();

    Future<List<MessageBrokerConfig>> loadMessageBrokers();

    Future<List<SourceToMessageBroker>> loadSourceToMessageBrokerMapping();

    Future<Map<Long, Group>> loadGroupsByCollectorType(CollectorType type);

    Future<List<Threshold>> loadGroupThresholds(CollectorType type);
}
