<%@ page class="AdminNodeServerPage" %> <%@ page form="true" %> <%@ page compressed="true" %> <%@ page baseClass="SessionHTTPRequestHandler" %> <%@ page ctorArg="Session*" %> <%@ header include="SessionHTTPRequestHandler.h" %> <%! #include "../controller/NodeServer.h" #include "../controller/Group.h" #include "../SingletonManager/SessionManager.h" #include "../lib/DataTypeConverter.h" %> <%% const char* pageName = "Node Server"; auto sm = SessionManager::getInstance(); // add if(!form.empty()) { // collect auto url = form.get("node-server-url", ""); auto portString = form.get("node-server-port", ""); auto nodeServerTypeString = form.get("node-server-type", "0"); auto shardNumString = form.get("account-shard-num", "0"); auto realmNumString = form.get("account-realm-num", "0"); auto numString = form.get("account-num", "0"); auto nodeServerGroupString = form.get("node-server-group", ""); int port = 0; int shardNum = 0; int realmNum = 0; int num = 0; model::table::NodeServerType nodeServerType = model::table::NODE_SERVER_NONE; int group_id = 0; // validate if(!sm->isValid(url, VALIDATE_ONLY_URL)) { addError(new ParamError("Node Server", "Url not valid, must start with http or https", url)); } if(!sm->isValid(portString, VALIDATE_ONLY_INTEGER)) { addError(new Error("Node Server", "Port isn't valid integer")); } else { if(DataTypeConverter::strToInt(portString, port) != DataTypeConverter::NUMBER_PARSE_OKAY) { addError(new Error("Int convert error", "Error converting port to int")); } } if(!sm->isValid(nodeServerTypeString, VALIDATE_ONLY_INTEGER)) { addError(new Error("Node Server Type", "not integer")); } else { int node_server_type_int = 0; if(DataTypeConverter::strToInt(nodeServerTypeString, node_server_type_int) != DataTypeConverter::NUMBER_PARSE_OKAY) { addError(new Error("Int Convert Error", "Error converting node server type to int")); } if(node_server_type_int < 0 || node_server_type_int >= (int)model::table::NODE_SERVER_TYPE_COUNT) { addError(new Error("Node Server Type", "invalid value")); } else { nodeServerType = (model::table::NodeServerType)node_server_type_int; } } if(model::table::NodeServerIsHederaNode(nodeServerType)) { if(!sm->isValid(shardNumString, VALIDATE_ONLY_INTEGER)) { addError(new Error("Account ID", "shard num not integer")); } else { if(DataTypeConverter::strToInt(shardNumString, shardNum) != DataTypeConverter::NUMBER_PARSE_OKAY) { addError(new Error("Int Convert Error", "Error converting shardNumString to int")); } } if(!sm->isValid(realmNumString, VALIDATE_ONLY_INTEGER)) { addError(new Error("Account ID", "realm num not integer")); } else { if(DataTypeConverter::strToInt(realmNumString, realmNum) != DataTypeConverter::NUMBER_PARSE_OKAY) { addError(new Error("Int Convert Error", "Error converting realmNumString to int")); } } if(!sm->isValid(numString, VALIDATE_ONLY_INTEGER)) { addError(new Error("Account ID", "num not integer")); } else { if(DataTypeConverter::strToInt(numString, num) != DataTypeConverter::NUMBER_PARSE_OKAY) { addError(new Error("Int Convert Error", "Error converting num to int")); } } } else if(model::table::NodeServerHasGroup(nodeServerType)) { if(!sm->isValid(nodeServerGroupString, VALIDATE_ONLY_INTEGER)) { addError(new Error("Group id", "group_id not integer")); } else { if(DataTypeConverter::strToInt(nodeServerGroupString, group_id) != DataTypeConverter::NUMBER_PARSE_OKAY) { addError(new Error("Int Convert Error", "Error converting group_id to int")); } } } if(0 == errorCount()) { int hedera_id_int = 0; if(NodeServerIsHederaNode(nodeServerType)) { auto hedera_id = controller::HederaId::create(shardNum, realmNum, num); hedera_id_int = hedera_id->getModel()->getID(); } auto node_server = controller::NodeServer::create( url, port, group_id, (model::table::NodeServerType)nodeServerType, hedera_id_int ); if(!node_server->getModel()->insertIntoDB(false)) { addError(new Error("DB Error", "Error saving Node Server in DB")); } } } auto groups = controller::Group::listAll(); std::map group_indices; int count = 0; for(auto it = groups.begin(); it != groups.end(); it++) { group_indices.insert(std::pair((*it)->getModel()->getID(), count)); count++; } auto node_servers = controller::NodeServer::listAll(); %><%@ include file="header_large.cpsp" %> <%= getErrorsHtml() %>

Alle Node Server

Server Type
Url:Port
Group / Hedera Id
<% for(auto it = node_servers.begin(); it != node_servers.end(); it++) { auto node_server_model = (*it)->getModel(); %>
<%= model::table::NodeServer::nodeServerTypeToString(node_server_model->getNodeServerType()) %>
<%= node_server_model->getUrlWithPort() %>
<% if(node_server_model->isHederaNode()) { auto hedera_id_model = (*it)->getHederaId()->getModel(); %> <%= hedera_id_model->toString() %> <% } else if(node_server_model->hasGroup()){ auto groupIt = group_indices.find(node_server_model->getGroupId()); if(groupIt != group_indices.end()) { auto group_model = groups[groupIt->second]->getModel(); %> <%= group_model->getName() %> <% } else { %> <%= node_server_model->getGroupId() %> <% } %> <% } %>
<% } %>

Ein Node Server hinzufügen

Nur für Hedera Nodes
Nur für Gradido Nodes
">
<%@ include file="footer.cpsp" %>