diff --git a/include/bank.h b/include/bank.h index 8d313f1..2357fd2 100644 --- a/include/bank.h +++ b/include/bank.h @@ -55,8 +55,7 @@ public: void ChangePassword(const std::string &name, std::string &&new_pass) noexcept; BankResponse SetBal(const std::string &name, uint32_t amount) noexcept; - BankResponse AddBal(const std::string &name, uint32_t amount) noexcept; - BankResponse SubBal(const std::string &name, uint32_t amount) noexcept; + BankResponse ImpactBal(const std::string &name, int64_t amount) noexcept; bool Contains(const std::string &name) const noexcept; bool AdminVerifyAccount(const std::string &name) noexcept; diff --git a/include/bank_api.h b/include/bank_api.h index e34b1d9..1d14b4a 100644 --- a/include/bank_api.h +++ b/include/bank_api.h @@ -25,8 +25,7 @@ public: void ChangePassword(req_args) const; void AdminChangePassword(req_args) const; void SetBal(req_args) const; - void AddBal(req_args) const; - void SubBal(req_args) const; + void ImpactBal(req_args) const; void Help(req_args) const; void Close(req_args) const; @@ -57,8 +56,7 @@ public: METHOD_ADD(api::ChangePassword, "/v1/user/change_password", Patch, Options, "JsonFilter", "UserFilter"); //expects ["new_pass"](string) METHOD_ADD(api::AdminChangePassword, "/v1/admin/user/change_password", Patch, Options, "JsonFilter", "UserFilter"); //expects ["name"](string) and ["new_pass"](string) METHOD_ADD(api::SetBal, "/v1/admin/set_balance", Patch, Options, "JsonFilter", "UserFilter"); //expects ["name"](string) and ["amount"](32 bits) - METHOD_ADD(api::AddBal, "/v1/admin/add_balance", Post, Options, "JsonFilter", "UserFilter"); //expects ["name"](string) and ["amount"](32 bits) - METHOD_ADD(api::SubBal, "/v1/admin/sub_balance", Post, Options, "JsonFilter", "UserFilter"); //expects ["name"](string) and ["amount"](32 bits) + METHOD_ADD(api::ImpactBal, "/v1/admin/impact_balance", Post, Options, "JsonFilter", "UserFilter"); //expects ["name"](string) and ["amount"](32 bits) //System Usage METHOD_ADD(api::Help, "/v1/help", Get, Options); diff --git a/src/bank.cpp b/src/bank.cpp index 749efb3..dbbd3a3 100644 --- a/src/bank.cpp +++ b/src/bank.cpp @@ -162,7 +162,7 @@ BankResponse Bank::SetBal(const std::string &name, uint32_t amount) noexcept return {k404NotFound, "User not found"}; } } -BankResponse Bank::AddBal(const std::string &name, uint32_t amount) noexcept +BankResponse Bank::ImpactBal(const std::string &name, int64_t amount) noexcept { if (amount) { @@ -184,28 +184,6 @@ BankResponse Bank::AddBal(const std::string &name, uint32_t amount) noexcept return {k404NotFound, "User not found"}; } } -BankResponse Bank::SubBal(const std::string &name, uint32_t amount) noexcept -{ - if (amount) - { - return {k400BadRequest, "Amount cannot be 0"}; - } - if (users.modify_if(name, [amount](User &u) { amount >= u.balance ? u.balance = 0 : u.balance -= amount; })) - { -#if CONSERVATIVE_DISK_SAVE -#if MULTI_THREADED - save_flag.SetChangesOn(); -#else - save_flag = true; -#endif -#endif - return {k200OK, "Balance subtracted!"}; - } - else - { - return {k404NotFound, "User not found"}; - } -} bool Bank::Contains(const std::string &name) const noexcept { return users.contains(name); diff --git a/src/bank_api.cpp b/src/bank_api.cpp index 15261be..509d14e 100644 --- a/src/bank_api.cpp +++ b/src/bank_api.cpp @@ -86,15 +86,10 @@ void api::SetBal(req_args) const GEN_BODY RESPONSE_PARSE(bank.SetBal(body["name"].asCString(), body["amount"].asUInt())); } -void api::AddBal(req_args) const +void api::ImpactBal(req_args) const { GEN_BODY - RESPONSE_PARSE(bank.AddBal(body["name"].asCString(), body["amount"].asUInt())); -} -void api::SubBal(req_args) const -{ - GEN_BODY - RESPONSE_PARSE(bank.AddBal(body["name"].asCString(), body["amount"].asUInt())); + RESPONSE_PARSE(bank.ImpactBal(body["name"].asCString(), body["amount"].asInt64())); } //System Usage