X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/8c6fa3fbaccc22127280bf77a48fab5a3ee0716e..46b0747592074017ff0ea4b33d4a7194235886e5:/projects/stargazer/plugins/configuration/rpcconfig/tariffs_methods.cpp diff --git a/projects/stargazer/plugins/configuration/rpcconfig/tariffs_methods.cpp b/projects/stargazer/plugins/configuration/rpcconfig/tariffs_methods.cpp deleted file mode 100644 index 77d73b02..00000000 --- a/projects/stargazer/plugins/configuration/rpcconfig/tariffs_methods.cpp +++ /dev/null @@ -1,193 +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/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 TARIFF * tariff = tariffs->FindByName(name); - -if (!tariff) - { - structVal["result"] = xmlrpc_c::value_boolean(false); - *retvalPtr = xmlrpc_c::value_struct(structVal); - return; - } - -TARIFF_DATA 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; - } - -ADMIN * admin; - -if (admins->Find(adminInfo.admin, &admin)) - { - *retvalPtr = xmlrpc_c::value_boolean(false); - return; - } - -const TARIFF * tariff = tariffs->FindByName(name); - -if (!tariff) - { - *retvalPtr = xmlrpc_c::value_boolean(false); - return; - } - -TARIFF_DATA 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::list dataList; -tariffs->GetTariffsData(&dataList); -std::list::const_iterator it = dataList.begin(); -for (; it != dataList.end(); ++it) - { - xmlrpc_c::value info; - TARIFF_DATA 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; - } - -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; - } - -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); -}