mirror of
https://github.com/Expand-sys/CCash
synced 2026-03-22 12:37:08 +11:00
🐎 Logs are only created when first transaction is made
This commit is contained in:
parent
666258519a
commit
fb3000820f
3 changed files with 11 additions and 10 deletions
|
|
@ -4,13 +4,6 @@
|
|||
"address": "0.0.0.0",
|
||||
"port": 80,
|
||||
"https": false
|
||||
},
|
||||
{
|
||||
"address": "0.0.0.0",
|
||||
"port": 443,
|
||||
"https": true,
|
||||
"cert": "",
|
||||
"key": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -108,10 +108,19 @@ public:
|
|||
|
||||
if (state)
|
||||
{
|
||||
//if user lacks a log, one is created, this is to reduce usage
|
||||
Transaction temp(a_name, b_name, amount, false);
|
||||
if (!logs.contains(a_name))
|
||||
{
|
||||
logs.try_emplace(a_name);
|
||||
}
|
||||
logs.modify_if(a_name, [&temp](Log &l) {
|
||||
l.AddTrans(temp);
|
||||
});
|
||||
if (!logs.contains(b_name))
|
||||
{
|
||||
logs.try_emplace(b_name);
|
||||
}
|
||||
temp.recieving = true;
|
||||
logs.modify_if(b_name, [&temp](Log &l) {
|
||||
l.AddTrans(temp);
|
||||
|
|
@ -194,7 +203,7 @@ public:
|
|||
});
|
||||
return res;
|
||||
}
|
||||
return -1;
|
||||
return users.contains(name); // so that if the user has no logs, but does exist
|
||||
}
|
||||
|
||||
void Save()
|
||||
|
|
@ -239,7 +248,6 @@ public:
|
|||
user_save.close();
|
||||
for (const auto &u : temp.getMemberNames())
|
||||
{
|
||||
logs.try_emplace(u);
|
||||
users.try_emplace(u, temp[u]["balance"].asUInt(), std::move(temp[u]["password"].asUInt64()));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public:
|
|||
{
|
||||
auto resp = HttpResponse::newHttpResponse();
|
||||
auto handlerInfo = app().getHandlersInfo();
|
||||
resp->setBody("<body> <h1>ALL FUNCTIONS (that have args) ARE EXPECTING JSON AS DATA TYPE</h1> <h2>/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>/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>/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>/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>/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, returns -1 if user doesnt exist</p> </blockquote> <h2>/BankF/<span style=\"color: #993300;\">admin</span>/{<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>/BankF/help (GET)</h2> <blockquote> <p>the page you're looking at right now!</p> </blockquote> <h2>/BankF/vpass (POST)</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], or -1 if user does not exist. The intended usage for this function is for connected services</p> </blockquote> <h2>/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 (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>/BankF/<span style=\"color: #993300;\">admin</span>/vpass (POST)</h2><p><span style=\"background-color: #808080;\"> attempt </span> - admin password</p> <blockquote> <p>Verifies if password entered is admin password</p> </blockquote> <h2>/BankF/{<span style=\"color: #339966;\">name</span>}/log (POST)</h2><p><span style=\"background-color: #808080;\"> attempt </span> - user password</p> <blockquote> <p>returns a list of last 100 transactions, -1 if user not found</p> </blockquote><h2>/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>/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> </body>");
|
||||
resp->setBody("<body> <h1>ALL FUNCTIONS (that have args) ARE EXPECTING JSON AS DATA TYPE</h1> <h2>/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>/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>/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>/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>/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, returns -1 if user doesnt exist</p> </blockquote> <h2>/BankF/<span style=\"color: #993300;\">admin</span>/{<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>/BankF/help (GET)</h2> <blockquote> <p>the page you're looking at right now!</p> </blockquote> <h2>/BankF/vpass (POST)</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], or -1 if user does not exist. The intended usage for this function is for connected services</p> </blockquote> <h2>/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 (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>/BankF/<span style=\"color: #993300;\">admin</span>/vpass (POST)</h2><p><span style=\"background-color: #808080;\"> attempt </span> - admin password</p> <blockquote> <p>Verifies if password entered is admin password</p> </blockquote> <h2>/BankF/{<span style=\"color: #339966;\">name</span>}/log (POST)</h2><p><span style=\"background-color: #808080;\"> attempt </span> - user password</p> <blockquote> <p>returns a list of last 100 transactions, 0 if user not found, returns 1 if user exists but has no logs</p> </blockquote><h2>/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>/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> </body>");
|
||||
resp->setExpiredTime(0);
|
||||
callback(resp);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue