X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/186fb2b18b89a0280b8cc4b5ea8f7a59d3bd0853..7766e753fefb962209f1898a234053f8c7bbe59d:/projects/sgconf/users.cpp diff --git a/projects/sgconf/users.cpp b/projects/sgconf/users.cpp index 3958869c..25159924 100644 --- a/projects/sgconf/users.cpp +++ b/projects/sgconf/users.cpp @@ -1,5 +1,7 @@ #include "users.h" +#include "api_action.h" +#include "options.h" #include "config.h" #include "stg/servconf.h" @@ -7,6 +9,8 @@ #include "stg/common.h" #include +#include +#include namespace { @@ -105,11 +109,9 @@ if (!result) PrintUser(info); } -} // namespace anonymous - -bool SGCONF::GetUsersFunction(const SGCONF::CONFIG & config, - const std::string & /*arg*/, - const std::map & /*options*/) +bool GetUsersFunction(const SGCONF::CONFIG & config, + const std::string & /*arg*/, + const std::map & /*options*/) { STG::SERVCONF proto(config.server.data(), config.port.data(), @@ -118,9 +120,9 @@ STG::SERVCONF proto(config.server.data(), return proto.GetUsers(GetUsersCallback, NULL) == STG::st_ok; } -bool SGCONF::GetUserFunction(const SGCONF::CONFIG & config, - const std::string & arg, - const std::map & /*options*/) +bool GetUserFunction(const SGCONF::CONFIG & config, + const std::string & arg, + const std::map & /*options*/) { STG::SERVCONF proto(config.server.data(), config.port.data(), @@ -129,9 +131,9 @@ STG::SERVCONF proto(config.server.data(), return proto.GetUser(arg, GetUserCallback, NULL) == STG::st_ok; } -bool SGCONF::DelUserFunction(const SGCONF::CONFIG & config, - const std::string & arg, - const std::map & /*options*/) +bool DelUserFunction(const SGCONF::CONFIG & config, + const std::string & arg, + const std::map & /*options*/) { STG::SERVCONF proto(config.server.data(), config.port.data(), @@ -140,38 +142,52 @@ STG::SERVCONF proto(config.server.data(), return proto.DelUser(arg, SimpleCallback, NULL) == STG::st_ok; } -bool SGCONF::AddUserFunction(const SGCONF::CONFIG & config, - const std::string & arg, - const std::map & /*options*/) +bool AddUserFunction(const SGCONF::CONFIG & config, + const std::string & arg, + const std::map & /*options*/) { // TODO std::cerr << "Unimplemented.\n"; return false; } -bool SGCONF::ChgUserFunction(const SGCONF::CONFIG & config, - const std::string & arg, - const std::map & options) +bool ChgUserFunction(const SGCONF::CONFIG & config, + const std::string & arg, + const std::map & options) { // TODO std::cerr << "Unimplemented.\n"; return false; } -bool SGCONF::CheckUserFunction(const SGCONF::CONFIG & config, - const std::string & arg, - const std::map & options) +bool CheckUserFunction(const SGCONF::CONFIG & config, + const std::string & arg, + const std::map & options) { // TODO std::cerr << "Unimplemented.\n"; return false; } -bool SGCONF::SendMessageFunction(const SGCONF::CONFIG & config, - const std::string & arg, - const std::map & options) +bool SendMessageFunction(const SGCONF::CONFIG & config, + const std::string & arg, + const std::map & options) { // TODO std::cerr << "Unimplemented.\n"; return false; } + +} // namespace anonymous + +void SGCONF::AppendUsersOptionBlock(COMMANDS & commands, OPTION_BLOCKS & blocks) +{ +blocks.Add("User management options") + .Add("get-users", SGCONF::MakeAPIAction(commands, GetUsersFunction), "\tget user list") + .Add("get-user", SGCONF::MakeAPIAction(commands, "", true, GetUserFunction), "get user") + .Add("add-user", SGCONF::MakeAPIAction(commands, "", true, AddUserFunction), "add user") + .Add("del-user", SGCONF::MakeAPIAction(commands, "", true, DelUserFunction), "del user") + .Add("chg-user", SGCONF::MakeAPIAction(commands, "", true, ChgUserFunction), "change user") + .Add("check-user", SGCONF::MakeAPIAction(commands, "", true, CheckUserFunction), "check user existance and credentials") + .Add("send-message", SGCONF::MakeAPIAction(commands, "", true, SendMessageFunction), "send message"); +}