X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/4271ab433cd55bbd2612292bcf39e4dc3d7274f1..0907aa4037b12b6b88ee24495d4577a064d4f8db:/stargazer/plugins/configuration/rpcconfig/tariffs_methods.cpp diff --git a/stargazer/plugins/configuration/rpcconfig/tariffs_methods.cpp b/stargazer/plugins/configuration/rpcconfig/tariffs_methods.cpp deleted file mode 100644 index 2047202a..00000000 --- a/stargazer/plugins/configuration/rpcconfig/tariffs_methods.cpp +++ /dev/null @@ -1,196 +0,0 @@ -#include // xmlrpc-c devs have missed something :) - -#include "tariffs_methods.h" -#include "rpcconfig.h" -#include "tariff_helper.h" - -#include "stg/tariffs.h" -#include "stg/tariff.h" -#include "stg/tariff_conf.h" -#include "stg/users.h" -#include "stg/admins.h" -#include "stg/admin.h" - -void METHOD_TARIFF_GET::execute(xmlrpc_c::paramList const & paramList, - xmlrpc_c::value * const retvalPtr) -{ -std::string cookie = paramList.getString(0); -std::string name = paramList.getString(1); -paramList.verifyEnd(2); - -std::map structVal; -ADMIN_INFO adminInfo; - -if (config->GetAdminInfo(cookie, &adminInfo)) - { - structVal["result"] = xmlrpc_c::value_boolean(false); - *retvalPtr = xmlrpc_c::value_struct(structVal); - return; - } - -const auto tariff = tariffs->FindByName(name); - -if (!tariff) - { - structVal["result"] = xmlrpc_c::value_boolean(false); - *retvalPtr = xmlrpc_c::value_struct(structVal); - return; - } - -auto td = tariff->GetTariffData(); - -TARIFF_HELPER helper(td); - -helper.GetTariffInfo(retvalPtr); -} - -void METHOD_TARIFF_CHG::execute(xmlrpc_c::paramList const & paramList, - xmlrpc_c::value * const retvalPtr) -{ -std::string cookie = paramList.getString(0); -std::string name = paramList.getString(1); -xmlrpc_c::value_struct info(paramList.getStruct(2)); -paramList.verifyEnd(3); - -ADMIN_INFO adminInfo; - -if (config->GetAdminInfo(cookie, &adminInfo)) - { - *retvalPtr = xmlrpc_c::value_boolean(false); - return; - } - -STG::Admin * admin; - -if (admins->find(adminInfo.admin, &admin)) - { - *retvalPtr = xmlrpc_c::value_boolean(false); - return; - } - -const auto tariff = tariffs->FindByName(name); - -if (!tariff) - { - *retvalPtr = xmlrpc_c::value_boolean(false); - return; - } - -auto td = tariff->GetTariffData(); - -TARIFF_HELPER helper(td); - -helper.SetTariffInfo(info); - -if (tariffs->Chg(td, admin)) - { - *retvalPtr = xmlrpc_c::value_boolean(false); - return; - } - -*retvalPtr = xmlrpc_c::value_boolean(true); -} - -void METHOD_TARIFFS_GET::execute(xmlrpc_c::paramList const & paramList, - xmlrpc_c::value * const retvalPtr) -{ -std::string cookie = paramList.getString(0); -paramList.verifyEnd(1); - -std::map structVal; -ADMIN_INFO adminInfo; - -if (config->GetAdminInfo(cookie, &adminInfo)) - { - structVal["result"] = xmlrpc_c::value_boolean(false); - *retvalPtr = xmlrpc_c::value_struct(structVal); - return; - } - -std::vector tariffsInfo; - - -std::vector dataList; -tariffs->GetTariffsData(&dataList); -auto it = dataList.begin(); -for (; it != dataList.end(); ++it) - { - xmlrpc_c::value info; - auto td = *it; // 'cause TARIFF_HELPER work in both ways and take not const referense - TARIFF_HELPER helper(td); - helper.GetTariffInfo(&info); - tariffsInfo.push_back(info); - } - -*retvalPtr = xmlrpc_c::value_array(tariffsInfo); -} - -void METHOD_TARIFF_ADD::execute(xmlrpc_c::paramList const & paramList, - xmlrpc_c::value * const retvalPtr) -{ -std::string cookie = paramList.getString(0); -std::string tariff = paramList.getString(1); -paramList.verifyEnd(2); - -ADMIN_INFO adminInfo; - -if (config->GetAdminInfo(cookie, &adminInfo)) - { - *retvalPtr = xmlrpc_c::value_boolean(false); - return; - } - -STG::Admin * admin; - -if (admins->find(adminInfo.admin, &admin)) - { - *retvalPtr = xmlrpc_c::value_boolean(false); - return; - } - -if (tariffs->Add(tariff, admin)) - { - *retvalPtr = xmlrpc_c::value_boolean(false); - return; - } - -*retvalPtr = xmlrpc_c::value_boolean(true); -} - -void METHOD_TARIFF_DEL::execute(xmlrpc_c::paramList const & paramList, - xmlrpc_c::value * const retvalPtr) -{ -std::string cookie = paramList.getString(0); -std::string tariff = paramList.getString(1); -paramList.verifyEnd(2); - -ADMIN_INFO adminInfo; - -if (config->GetAdminInfo(cookie, &adminInfo)) - { - *retvalPtr = xmlrpc_c::value_boolean(false); - return; - } - -STG::Admin * admin; - -if (admins->find(adminInfo.admin, &admin)) - { - *retvalPtr = xmlrpc_c::value_boolean(false); - return; - } - -if (users->TariffInUse(tariff)) - { - *retvalPtr = xmlrpc_c::value_boolean(false); - return; - } - -if (tariffs->Del(tariff, admin)) - { - *retvalPtr = xmlrpc_c::value_boolean(false); - return; - } - -*retvalPtr = xmlrpc_c::value_boolean(true); -}