Major refactor

This commit is contained in:
Your Name
2025-04-28 20:39:49 +12:00
parent bd043eaed8
commit 1d6986cda0
8 changed files with 177 additions and 233 deletions

View File

@ -1,5 +1,5 @@
#include "servers.hpp"
#include "server_env.hpp"
#include "server_env_manager.hpp"
#include "service_runner.hpp"
#include "utils/tableprint.hpp"
#include "utils/envmanager.hpp"
@ -18,19 +18,19 @@ namespace dropshell {
std::vector<ServerInfo> get_configured_servers() {
std::vector<ServerInfo> servers;
std::vector<std::string> local_config_directories = get_global_config()->get_local_config_directories();
std::vector<std::string> local_config_directories = gConfig().get_local_config_directories();
if (local_config_directories.empty())
return servers;
for (int i = 0; i < local_config_directories.size(); i++) {
std::string servers_dir = get_local_config_servers_path(i);
std::string servers_dir = localpath::config_servers(i);
if (!servers_dir.empty() && std::filesystem::exists(servers_dir)) {
for (const auto& entry : std::filesystem::directory_iterator(servers_dir)) {
if (std::filesystem::is_directory(entry)) {
std::string server_name = entry.path().filename().string();
server_env env(server_name);
server_env_manager env(server_name);
if (!env.is_valid()) {
std::cerr << "Error: Invalid server environment file: " << entry.path().string() << std::endl;
continue;
@ -75,7 +75,7 @@ void list_servers() {
}
void show_server_details(const std::string& server_name) {
server_env env(server_name);
server_env_manager env(server_name);
if (!env.is_valid()) {
std::cerr << "Error: Invalid server environment file: " << server_name << std::endl;
return;
@ -146,7 +146,7 @@ void show_server_details(const std::string& server_name) {
void create_server(const std::string &server_name)
{
// 1. check if server name already exists
std::string server_existing_dir = get_local_server_path(server_name);
std::string server_existing_dir = localpath::server(server_name);
if (!server_existing_dir.empty()) {
std::cerr << "Error: Server name already exists: " << server_name << std::endl;
std::cerr << "Current server path: " << server_existing_dir << std::endl;
@ -154,7 +154,7 @@ void create_server(const std::string &server_name)
}
// 2. create a new directory in the user config directory
std::string config_servers_dir = get_local_config_servers_path(0);
std::string config_servers_dir = localpath::config_servers();
std::string server_dir = config_servers_dir + "/" + server_name;
std::filesystem::create_directory(server_dir);