package dst.ass3.messaging;

/**
 * Contains several constants related to the RabbitMQ infrastructure and expected names for queues, exchanges and
 * routing keys.
 */
public final class Constants {

    public static final String RMQ_HOST = "192.168.99.99";
    public static final String RMQ_PORT = "5672";
    public static final String RMQ_VHOST = "/";
    public static final String RMQ_USER = "dst";
    public static final String RMQ_PASSWORD = "dst";

    public static final String RMQ_API_PORT = "15672";
    public static final String RMQ_API_URL = "http://" + RMQ_HOST + ":" + RMQ_API_PORT + "/api/";

    public static final String QUEUE_QUIZ = "dst.quiz";
    public static final String QUEUE_DOCUMENT = "dst.document";
    public static final String QUEUE_VIDEO = "dst.video";

    public static final String[] WORK_QUEUES = {
            QUEUE_QUIZ,
            QUEUE_DOCUMENT,
            QUEUE_VIDEO
    };

    public static final String TOPIC_EXCHANGE = "dst.workers";

    public static final String ROUTING_KEY_QUIZ = "requests.quiz";
    public static final String ROUTING_KEY_DOCUMENT = "requests.document";
    public static final String ROUTING_KEY_VIDEO = "requests.video";

    private Constants() {
        // util class
    }
}
