This commit is contained in:
parent
8f06fc31ae
commit
e7558be416
@ -120,14 +120,14 @@ bool config::is_agent_installed()
|
||||
return std::filesystem::exists(localfile::bb64());
|
||||
}
|
||||
|
||||
std::vector<std::string> config::get_template_registry_urls() {
|
||||
nlohmann::json template_registry_urls = mConfig["template_registry_URLs"];
|
||||
std::vector<std::string> urls;
|
||||
for (auto &url : template_registry_urls) {
|
||||
if (url.is_string() && !url.empty())
|
||||
urls.push_back(url);
|
||||
std::vector<tRegistryEntry> config::get_template_registry_urls() {
|
||||
nlohmann::json template_registries = mConfig["template_registries"];
|
||||
std::vector<tRegistryEntry> registries;
|
||||
for (auto ®istry : template_registries) {
|
||||
if (registry.is_object() && !registry.empty())
|
||||
registries.push_back(tRegistryEntry(registry));
|
||||
}
|
||||
return urls;
|
||||
return registries;
|
||||
}
|
||||
|
||||
std::vector<std::string> config::get_local_template_paths()
|
||||
@ -167,22 +167,31 @@ std::string config::get_template_create_path()
|
||||
return paths[0];
|
||||
}
|
||||
|
||||
std::string config::get_template_upload_url()
|
||||
{
|
||||
std::vector<std::string> urls = get_template_registry_urls();
|
||||
if (urls.empty())
|
||||
return "";
|
||||
return urls[0];
|
||||
}
|
||||
|
||||
std::string config::get_template_upload_token() {
|
||||
return mConfig["template_upload_token"];
|
||||
}
|
||||
|
||||
std::string config::get_backups_path()
|
||||
{
|
||||
return mConfig["backups_path"];
|
||||
}
|
||||
|
||||
dropshell::tRegistryEntry::tRegistryEntry(nlohmann::json json)
|
||||
{
|
||||
if (json.is_object() && !json.empty()) {
|
||||
for (auto &[key, value] : json.items()) {
|
||||
if (tolower(key) == "name") {
|
||||
name = value;
|
||||
} else if (tolower(key) == "url") {
|
||||
url = value;
|
||||
} else if (tolower(key) == "token") {
|
||||
token = value;
|
||||
}
|
||||
}
|
||||
valid = true;
|
||||
} else {
|
||||
valid = false;
|
||||
}
|
||||
}
|
||||
|
||||
tRegistryEntry::~tRegistryEntry()
|
||||
{
|
||||
}
|
||||
|
||||
} // namespace dropshell
|
@ -8,6 +8,19 @@
|
||||
|
||||
namespace dropshell {
|
||||
|
||||
class tRegistryEntry {
|
||||
|
||||
public:
|
||||
tRegistryEntry(nlohmann::json json);
|
||||
~tRegistryEntry();
|
||||
|
||||
public:
|
||||
std::string name;
|
||||
std::string url;
|
||||
std::string token;
|
||||
bool valid;
|
||||
};
|
||||
|
||||
class config {
|
||||
public:
|
||||
config();
|
||||
@ -19,15 +32,12 @@ class config {
|
||||
bool is_config_set() const;
|
||||
static bool is_agent_installed();
|
||||
|
||||
std::vector<std::string> get_template_registry_urls();
|
||||
std::vector<tRegistryEntry> get_template_registry_urls();
|
||||
std::vector<std::string> get_local_template_paths();
|
||||
std::vector<std::string> get_local_server_definition_paths();
|
||||
|
||||
std::string get_server_create_path();
|
||||
std::string get_template_create_path();
|
||||
std::string get_template_upload_url();
|
||||
std::string get_template_upload_token();
|
||||
|
||||
std::string get_backups_path();
|
||||
|
||||
private:
|
||||
|
@ -4,6 +4,7 @@
|
||||
#include <memory>
|
||||
#include <set>
|
||||
|
||||
#include "config.hpp"
|
||||
#define JSON_INLINE_ALL
|
||||
#include "json.hpp"
|
||||
|
||||
@ -50,7 +51,7 @@ class template_source_interface {
|
||||
|
||||
class template_source_registry : public template_source_interface {
|
||||
public:
|
||||
template_source_registry(std::string URL) : mURL(URL) {}
|
||||
template_source_registry(tRegistryEntry registry) : mRegistry(registry) {}
|
||||
|
||||
~template_source_registry() {}
|
||||
|
||||
@ -59,11 +60,11 @@ class template_source_registry : public template_source_interface {
|
||||
template_info get_template_info(const std::string& template_name);
|
||||
bool template_command_exists(const std::string& template_name,const std::string& command);
|
||||
|
||||
std::string get_description() { return "Registry: " + mURL; }
|
||||
std::string get_description() { return "Registry: " + mRegistry.name + " (" + mRegistry.url + ")"; }
|
||||
private:
|
||||
std::filesystem::path get_cache_dir();
|
||||
private:
|
||||
std::string mURL;
|
||||
tRegistryEntry mRegistry;
|
||||
std::vector<nlohmann::json> mTemplates; // cached list.
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user