mirror of
https://github.com/Expand-sys/CCash
synced 2026-03-22 20:47:10 +11:00
✨ re-ordered /help and added setbal
This commit is contained in:
parent
dc1e145a2d
commit
78327cec77
2 changed files with 19 additions and 2 deletions
|
|
@ -89,6 +89,17 @@ public:
|
||||||
{
|
{
|
||||||
return users.contains(name, users.hash(name));
|
return users.contains(name, users.hash(name));
|
||||||
}
|
}
|
||||||
|
bool SetBal(const std::string &name, const std::string &attempt, uint32_t amount)
|
||||||
|
{
|
||||||
|
bool state = (admin_pass == attempt);
|
||||||
|
if (state)
|
||||||
|
{
|
||||||
|
users.modify_if(name, [amount](User &u) {
|
||||||
|
u.balance = amount;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
int_fast64_t GetBal(const std::string &name) const
|
int_fast64_t GetBal(const std::string &name) const
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ public:
|
||||||
{
|
{
|
||||||
auto resp = HttpResponse::newHttpResponse();
|
auto resp = HttpResponse::newHttpResponse();
|
||||||
auto handlerInfo = app().getHandlersInfo();
|
auto handlerInfo = app().getHandlersInfo();
|
||||||
resp->setBody("<h1>ALL FUNCTIONS (that have args) ARE EXPECTING JSON AS DATA TYPE</h1><h2>/BankF/help (GET)</h2><blockquote><p>the page you're looking at right now!</p></blockquote><h2><br />/BankF/<span style=\"color: #ff0000;\">admin</span>/close (POST)</h2><p><span style=\"background-color: #808080;\"> attempt </span> - admin password</p><blockquote><p>Closes and Saves the server.</p></blockquote><h2><br />/BankF/user (POST)</h2><p><span style=\"background-color: #808080;\"> name </span> - name of the user being added</p><p><span style=\"background-color: #808080;\"> init_pass </span> - initial password for the user being added</p><blockquote><p>Adds a user to the bank</p></blockquote><h2><br />/BankF/<span style=\"color: #ff0000;\">admin</span>/user (POST)</h2><p><span style=\"background-color: #808080;\"> name </span> - name of the user being added</p><p><span style=\"background-color: #808080;\"> attempt </span> - admin password required to add user with balance</p><p><span style=\"background-color: #808080;\"> init_bal </span> - initial balance for user being added</p><p><span style=\"background-color: #808080;\"> init_pass </span> - initial password for user being added</p><blockquote><p>Adds a user with initial balance</p></blockquote><h2><br />/BankF/user (DELETE)</h2><p><span style=\"background-color: #808080;\"> name </span> - name of user being deleted</p><p><span style=\"background-color: #808080;\"> attempt </span> - password of user being deleted</p><blockquote><p>Deletes a user with the password of the user as verification</p></blockquote><h2><br />/BankF/<span style=\"color: #ff0000;\">admin</span>/user (DELETE)</h2><p><span style=\"background-color: #808080;\"> name </span> - name of user being deleted</p><p><span style=\"background-color: #808080;\"> attempt </span> - admin password</p><blockquote><p>Deletes a user with admin password as verification</p></blockquote><h2><br />/BankF/sendfunds (POST)</h2><p><span style=\"background-color: #808080;\"> a_name </span> - sender's name</p><p><span style=\"background-color: #808080;\"> b_name </span> - reciever's name</p><p><span style=\"background-color: #808080;\"> amount </span> - amount being sent</p><p><span style=\"background-color: #808080;\"> attempt </span> - password of sender</p><blockquote><p>Sends money from one user to another</p></blockquote><h2><br />/BankF/changepass (PATCH)</h2><p><span style=\"background-color: #808080;\"> name </span> - name of user's password being changes</p><p><span style=\"background-color: #808080;\"> attempt </span> - password of user being changed</p><p><span style=\"background-color: #808080;\"> new_pass </span> - new password to replace the current user's password</p><blockquote><p> Changes password of a user</p></blockquote><h2><br />/BankF/contains/{name} (GET)</h2><blockquote><p>returns a 0 or 1 based on if the bank contains the user</p></blockquote><h2><br />/BankF/{name}/getbal (GET)</h2><blockquote><p>returns the balance of a given user's name, if -1 that means the user does not exist</p></blockquote><h2><br />/BankF/vpass (GET)</h2><p><span style=\"background-color: #808080;\"> name </span> - name of user being verified</p><p><span style=\"background-color: #808080;\"> attempt </span>- password being verified</p><blockquote><p>returns 0 or 1 based on if [attempt] is equal to the password of the user [name]. The intended usage for this function is for connected services</p></blockquote><p> </p><p> </p>");
|
resp->setBody("<h1>ALL FUNCTIONS (that have args) ARE EXPECTING JSON AS DATA TYPE</h1><h2><br />/BankF/<span style=\"color: #993300;\">admin</span>/close (POST)</h2><p><span style=\"background-color: #808080;\"> attempt </span> - admin password</p><blockquote><p>Closes and Saves the server.</p></blockquote><h2><br />/BankF/user (POST)</h2><p><span style=\"background-color: #808080;\"> name </span> - name of the user being added</p><p> init_pass - initial password for the user being added</p><blockquote><p>Adds a user to the bank</p></blockquote><h2><br />/BankF/<span style=\"color: #993300;\">admin</span>/user (POST)</h2><p><span style=\"background-color: #808080;\"> name </span> - name of the user being added</p><p><span style=\"background-color: #808080;\"> attempt </span> - admin password required to add user with balance</p><p><span style=\"background-color: #808080;\"> init_bal </span> - initial balance for user being added</p><p><span style=\"background-color: #808080;\"> init_pass </span> - initial password for user being added</p><blockquote><p>Adds a user with initial balance</p></blockquote><h2><br />/BankF/sendfunds (POST)</h2><p><span style=\"background-color: #808080;\"> a_name </span> - sender's name</p><p><span style=\"background-color: #808080;\"> b_name </span> - reciever's name</p><p><span style=\"background-color: #808080;\"> amount </span> - amount being sent</p><p><span style=\"background-color: #808080;\"> attempt </span> - password of sender</p><blockquote><p>Sends money from one user to another</p></blockquote><h2><br />/BankF/changepass (PATCH)</h2><p><span style=\"background-color: #808080;\"> name </span> - name of user's password being changes</p><p><span style=\"background-color: #808080;\"> attempt </span> - password of user being changed</p><p><span style=\"background-color: #808080;\"> new_pass </span> - new password to replace the current user's password</p><blockquote><p> Changes password of a user</p></blockquote><h2> </h2><h2>/BankF/{<span style=\"color: #339966;\">name</span>}/bal (GET)</h2><blockquote><p>returns the balance of a given user's name, if -1 that means the user does not exist</p><p> </p></blockquote><h2>/BankF/help (GET)</h2><blockquote><p>the page you're looking at right now!</p></blockquote><h2><br />/BankF/vpass (GET)</h2><p><span style=\"background-color: #808080;\"> name </span> - name of user being verified</p><p><span style=\"background-color: #808080;\"> attempt </span> - password being verified</p><blockquote><p>returns 0 or 1 based on if [attempt] is equal to the password of the user [name]. The intended usage for this function is for connected services</p></blockquote><h2><br />/BankF/contains/{<span style=\"color: #339966;\">name</span>} (GET)</h2><blockquote><p>returns a 0 or 1 based on if the bank contains the user</p></blockquote><h2>/BankF/{<span style=\"color: #339966;\">name</span>}/bal (PATCH)</h2><p><span style=\"background-color: #808080;\"> name </span> - the name of the user being set</p><p><span style=\"background-color: #808080;\"> attempt </span> - the admin password required</p><p><span style=\"background-color: #808080;\"> amount </span> - the new balance of the user</p><blockquote><p>Sets the balance of a user</p></blockquote><h2><br />/BankF/user (DELETE)</h2><p><span style=\"background-color: #808080;\"> name </span> - name of user being deleted</p><p><span style=\"background-color: #808080;\"> attempt </span> - password of user being deleted</p><blockquote><p>Deletes a user with the password of the user as verification</p></blockquote><h2><br />/BankF/<span style=\"color: #993300;\">admin</span>/user (DELETE)</h2><p><span style=\"background-color: #808080;\"> name </span> - name of user being deleted</p><p><span style=\"background-color: #808080;\"> attempt </span> - admin password</p><blockquote><p>Deletes a user with admin password as verification</p></blockquote>");
|
||||||
resp->setExpiredTime(0);
|
resp->setExpiredTime(0);
|
||||||
callback(resp);
|
callback(resp);
|
||||||
}
|
}
|
||||||
|
|
@ -96,6 +96,11 @@ public:
|
||||||
GEN_BODY
|
GEN_BODY
|
||||||
JSON(bank.VerifyPassword(body["name"].asCString(), body["attempt"].asCString()));
|
JSON(bank.VerifyPassword(body["name"].asCString(), body["attempt"].asCString()));
|
||||||
}
|
}
|
||||||
|
void SetBal(req_args, const std::string &name) const
|
||||||
|
{
|
||||||
|
GEN_BODY
|
||||||
|
JSON(bank.SetBal(name, body["attempt"].asCString(), body["amount"].asUInt()));
|
||||||
|
}
|
||||||
|
|
||||||
METHOD_LIST_BEGIN
|
METHOD_LIST_BEGIN
|
||||||
METHOD_ADD(BankF::Close, "/admin/close", Post);
|
METHOD_ADD(BankF::Close, "/admin/close", Post);
|
||||||
|
|
@ -104,11 +109,12 @@ public:
|
||||||
METHOD_ADD(BankF::SendFunds, "/sendfunds", Post);
|
METHOD_ADD(BankF::SendFunds, "/sendfunds", Post);
|
||||||
|
|
||||||
METHOD_ADD(BankF::ChangePassword, "/changepass", Patch);
|
METHOD_ADD(BankF::ChangePassword, "/changepass", Patch);
|
||||||
|
METHOD_ADD(BankF::SetBal, "/{name}/bal", Patch);
|
||||||
|
|
||||||
METHOD_ADD(BankF::Help, "/help", Get);
|
METHOD_ADD(BankF::Help, "/help", Get);
|
||||||
METHOD_ADD(BankF::VerifyPassword, "/vpass", Get);
|
METHOD_ADD(BankF::VerifyPassword, "/vpass", Get);
|
||||||
METHOD_ADD(BankF::Contains, "/contains/{name}", Get);
|
METHOD_ADD(BankF::Contains, "/contains/{name}", Get);
|
||||||
METHOD_ADD(BankF::GetBal, "/{name}/getbal", Get);
|
METHOD_ADD(BankF::GetBal, "/{name}/bal", Get);
|
||||||
|
|
||||||
METHOD_ADD(BankF::DelUser, "/user", Delete);
|
METHOD_ADD(BankF::DelUser, "/user", Delete);
|
||||||
METHOD_ADD(BankF::AdminDelUser, "/admin/user", Delete);
|
METHOD_ADD(BankF::AdminDelUser, "/admin/user", Delete);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue