added get_ssh_server and set_ssh_server
This commit is contained in:
1 parent
f7b1d75bab
commit
5a1a3a92a2
10 files changed
+133
-3
No files matched your search
@@ -0,0 +1,80 @@
|
||||
#include <settings/ssh/ssh.hpp>
|
||||
#include <fstream>
|
||||
#include <json.hpp>
|
||||
#include <colors.h>
|
||||
#include <helpers.hpp>
|
||||
#include <types.hpp>
|
||||
#include <auth/auth.hpp>
|
||||
|
||||
#define SSH_SERVER_REQUIRED_STRING R"({"required":"[token,server]"})"
|
||||
|
||||
namespace api
|
||||
{
|
||||
namespace settings
|
||||
{
|
||||
std::string get_ssh_server()
|
||||
{
|
||||
std::ifstream serverfile("/etc/openrouter/ssh/server");
|
||||
std::string ssh_server = "";
|
||||
serverfile >> ssh_server;
|
||||
serverfile.close();
|
||||
return ssh_server;
|
||||
}
|
||||
|
||||
std::string set_ssh_server(std::string &server)
|
||||
{
|
||||
std::ofstream serverfile("/etc/openrouter/ssh/server");
|
||||
serverfile << server;
|
||||
serverfile.close();
|
||||
return get_ssh_server();
|
||||
}
|
||||
|
||||
void get_ssh_server_http(const httplib::Request &request, httplib::Response &response)
|
||||
{
|
||||
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
|
||||
response.set_header("Access-Control-Allow-Origin", "*");
|
||||
if (!check_body(request))
|
||||
{
|
||||
response.set_content(ACCESS_REQUIRED_STRING, JSON_TYPE);
|
||||
return;
|
||||
}
|
||||
nlohmann::json json_body = nlohmann::json::parse(request.body);
|
||||
|
||||
if (!authenticate(json_body["token"]))
|
||||
{
|
||||
response.set_content(R"({"access":"reject"})", JSON_TYPE);
|
||||
return;
|
||||
}
|
||||
std::stringstream responsedata;
|
||||
responsedata << R"({"server":")" << get_ssh_server() << R"("})";
|
||||
response.set_content(responsedata.str(), JSON_TYPE);
|
||||
}
|
||||
void set_ssh_server_http(const httplib::Request &request, httplib::Response &response)
|
||||
{
|
||||
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
|
||||
response.set_header("Access-Control-Allow-Origin", "*");
|
||||
if (!check_body(request))
|
||||
{
|
||||
response.set_content(ACCESS_REQUIRED_STRING, JSON_TYPE);
|
||||
return;
|
||||
}
|
||||
nlohmann::json json_body = nlohmann::json::parse(request.body);
|
||||
|
||||
if (json_body["server"] == nullptr)
|
||||
{
|
||||
response.set_content(SSH_SERVER_REQUIRED_STRING, JSON_TYPE);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!authenticate(json_body["token"]))
|
||||
{
|
||||
response.set_content(R"({"access":"reject"})", JSON_TYPE);
|
||||
return;
|
||||
}
|
||||
std::stringstream responsedata;
|
||||
std::string server = json_body["server"];
|
||||
responsedata << R"({"server":")" << set_ssh_server(server) << R"("})";
|
||||
response.set_content(responsedata.str(), JSON_TYPE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,12 @@ namespace api
|
||||
{
|
||||
namespace settings
|
||||
{
|
||||
std::string get_ssh_server();
|
||||
std::string set_ssh_server(std::string &server);
|
||||
|
||||
void get_ssh_server_http(const httplib::Request &request, httplib::Response &response);
|
||||
void set_ssh_server_http(const httplib::Request &request, httplib::Response &response);
|
||||
|
||||
void get_ssh_status(const httplib::Request &request, httplib::Response &response);
|
||||
void set_ssh_status(const httplib::Request &request, httplib::Response &response);
|
||||
|
||||
|
||||
Reference in new issue
Block a user