//
//  ServerConfiguration.hpp
//  eagle0_server
//
//  Created by Dan Crosby on 1/21/18.
//  Copyright © 2018 none. All rights reserved.
//

#ifndef EAGLE0_SHARDOK_SERVER_SERVER_CONFIGURATION_HPP
#define EAGLE0_SHARDOK_SERVER_SERVER_CONFIGURATION_HPP

#include <string>
#include <unordered_map>

class ServerConfiguration {
private:
    std::unordered_map<std::string, std::string> configValues;

public:
    explicit ServerConfiguration(const std::string& filePath);

    int intForKey(const std::string& key, int defaultValue = 0);
    std::string stringForKey(const std::string& key, const std::string& defaultValue = "");

    const static std::string kShardokGrpcAddress;
    const static std::string kEagleInterfaceGrpcAddress;
    const static std::string kEagleGrpcAddress;
    const static std::string kSslCertPath;
    const static std::string kSslPrivateKeyPath;
    const static std::string kAuthTokenPath;
};

#endif  // EAGLE0_SHARDOK_SERVER_SERVER_CONFIGURATION_HPP
