implementing password in header

This commit is contained in:
EntireTwix 2021-06-09 20:44:44 -07:00
parent 78ba30ccc3
commit 803aeb11c3
2 changed files with 19 additions and 17 deletions

View file

@ -286,12 +286,13 @@ public:
if (!temp.isNull()) if (!temp.isNull())
{ {
writer->write(temp, &user_save); writer->write(temp, &user_save);
user_save.close();
} }
else else
{ {
user_save.close();
throw std::invalid_argument("Saving Failed\n"); throw std::invalid_argument("Saving Failed\n");
} }
user_save.close();
} }
//NOT THREAD SAFE, BY NO MEANS SHOULD THIS BE CALLED WHILE RECEIEVING REQUESTS //NOT THREAD SAFE, BY NO MEANS SHOULD THIS BE CALLED WHILE RECEIEVING REQUESTS

View file

@ -10,6 +10,7 @@ using namespace drogon;
#define GEN_BODY \ #define GEN_BODY \
const auto temp_req = req->getJsonObject(); \ const auto temp_req = req->getJsonObject(); \
const auto body = temp_req ? *temp_req : Json::Value(); const auto body = temp_req ? *temp_req : Json::Value();
#define PASS_HEADER std::string pass = req->getHeader("Password");
template <typename T> template <typename T>
INLINE Json::Value JsonReturn(T &&val) INLINE Json::Value JsonReturn(T &&val)
@ -43,9 +44,9 @@ public:
} }
void Close(req_args) const void Close(req_args) const
{ {
GEN_BODY PASS_HEADER
bool res; bool res;
if (body["attempt"].asCString() == bank.admin_pass) if (pass == bank.admin_pass)
{ {
bank.Save(); bank.Save();
@ -58,35 +59,35 @@ public:
} }
JSON(res); JSON(res);
} }
void AddUser(req_args) const void AddUser(req_args, std::string &&name) const
{ {
GEN_BODY PASS_HEADER
JSON(bank.AddUser(body["name"].asCString(), body["init_pass"].asCString())); JSON(bank.AddUser(std::move(name), std::move(pass)));
} }
void AdminAddUser(req_args) const void AdminAddUser(req_args, std::string &&name, uint32_t init_bal, std::string &&init_pass) const
{ {
GEN_BODY PASS_HEADER
JSON(bank.AdminAddUser(body["attempt"].asCString(), body["name"].asCString(), body["init_bal"].asUInt(), body["init_pass"].asCString())); JSON(bank.AdminAddUser(pass, std::move(name), init_bal, std::move(init_pass)));
} }
void DelUser(req_args, const std::string &name) const void DelUser(req_args, const std::string &name) const
{ {
GEN_BODY PASS_HEADER
JSON(bank.DelUser(name, body["attempt"].asCString())); JSON(bank.DelUser(name, pass));
} }
void AdminDelUser(req_args, const std::string &name) const void AdminDelUser(req_args, const std::string &name) const
{ {
GEN_BODY PASS_HEADER
JSON(bank.AdminDelUser(name, body["attempt"].asCString())); JSON(bank.AdminDelUser(name, pass));
} }
void SendFunds(req_args, const std::string name, const std::string to, uint32_t amount) const void SendFunds(req_args, const std::string name, const std::string to, uint32_t amount) const
{ {
GEN_BODY PASS_HEADER
JSON(bank.SendFunds(name, to, amount, body["attempt"].asCString())); JSON(bank.SendFunds(name, to, amount, pass));
} }
void ChangePassword(req_args, const std::string &name) const void ChangePassword(req_args, const std::string &name) const
{ {
GEN_BODY PASS_HEADER
JSON(bank.ChangePassword(name, body["attempt"].asCString(), body["new_pass"].asCString())); JSON(bank.ChangePassword(name, pass, std::string(req->getBody())));
} }
void Contains(req_args, const std::string &name) const void Contains(req_args, const std::string &name) const
{ {