diff --git a/help.md b/help.md
index 70ce25f..c4a15ef 100644
--- a/help.md
+++ b/help.md
@@ -33,7 +33,7 @@
| Help | BankF/help | GET | false | the page you're looking at right now! |
| Ping | BankF/ping | GET | false | for pinging the server to see if its online |
| Close | BankF/admin/close | POST | true | saves and then closes the program if the supplied password matches the admin password |
-| Contains | BankF/contains/{name} | GET | false | returns `true` or `false` depending on if the supplied user `{name}` exists |
+| Contains | BankF/contains/{name} | GET | false | returns `1` if the supplied user `{name}` exists |
| AdminVerifyPass | BankF/admin/verify | GET | true | returns `1` if the password supplied in the header matches the admin password |
# User Management
diff --git a/include/bank.h b/include/bank.h
index 81a9554..35ec3cd 100644
--- a/include/bank.h
+++ b/include/bank.h
@@ -41,7 +41,7 @@ public:
int_fast8_t SendFunds(const std::string &a_name, const std::string &b_name, uint32_t amount, const std::string &attempt);
- bool Contains(const std::string &name) const;
+ int_fast8_t Contains(const std::string &name) const;
int_fast8_t AdminVerifyPass(const std::string &attempt);
int_fast8_t SetBal(const std::string &name, const std::string &attempt, uint32_t amount);
diff --git a/src/bank.cpp b/src/bank.cpp
index 01161fd..ba2403b 100644
--- a/src/bank.cpp
+++ b/src/bank.cpp
@@ -163,9 +163,16 @@ int_fast8_t Bank::SendFunds(const std::string &a_name, const std::string &b_name
}
}
-bool Bank::Contains(const std::string &name) const
+int_fast8_t Bank::Contains(const std::string &name) const
{
- return users.contains(name);
+ if (users.contains(name))
+ {
+ return true;
+ }
+ else
+ {
+ return ErrorResponse::UserNotFound;
+ }
}
int_fast8_t Bank::AdminVerifyPass(const std::string &attempt)
{
diff --git a/src/bank_f.cpp b/src/bank_f.cpp
index e1f1960..9cfe056 100644
--- a/src/bank_f.cpp
+++ b/src/bank_f.cpp
@@ -31,7 +31,7 @@ BankF::BankF(Bank *b) : bank(*b) {}
void BankF::Help(req_args) const
{
auto resp = HttpResponse::newHttpResponse();
- resp->setBody("# Meta Usage
Error Responses
| # | meaning |
| -1 | UserNotFound |
| -2 | WrongPassword |
| -3 | InvalidRequest |
| -4 | NameTooLong |
| -5 | UserAlreadyExists |
| -6 | InsufficientFunds |
Things of Note
- all endpoints respond with JSON file type
- "A" denotes requiring Authentication in the form of a header titled "Password"
Usage
| Name | Path | Method | A | Description |
| GetBal | BankF/{name}/bal | GET | false | returns the balance of a given user {name} |
| GetLog | BankF/{name}/log | GET | true | returns a list of last n number of transactions (a configurable amount) of a given user {name} |
| SendFunds | BankF/{name}/send/{to}/amount={amount} | POST | true | sends {amount} from user {name} to user {to} |
| VerifyPassword | BankF/{name}/pass/verify | GET | true | returns 1 if the supplied user {name}'s password matches the password supplied in the header |
Meta Usage
| Name | Path | Method | A | Description |
| ChangePassword | BankF/{name}/pass/change | PATCH | true | if the password supplied in the header matches the user {name}'s password, the user’s password is changed to the one given in the body |
| SetBal | BankF/admin/{name}/bal/amount={amount} | PATCH | true | sets the balance of a give user {name} if the supplied password matches the admin password |
System Usage
| Name | Path | Method | A | Description |
| Help | BankF/help | GET | false | the page you’re looking at right now! |
| Ping | BankF/ping | GET | false | for pinging the server to see if its online |
| Close | BankF/admin/close | POST | true | saves and then closes the program if the supplied password matches the admin password |
| Contains | BankF/contains/{name} | GET | false | returns true or false depending on if the supplied user {name} exists |
| AdminVerifyPass | BankF/admin/verify | GET | true | returns 1 if the password supplied in the header matches the admin password |
User Management
| Name | Path | Method | A | Description |
| AddUser | BankF/user/{name} | POST | true | registers a user with the name {name}, balance of 0 and a password of the password supplied in the header |
| AdminAddUser | BankF/admin/user/{name}?init_bal={init_bal} | POST | true | if the password supplied in the header matches the admin password, then it registers a user with the name {name}, balance of init_bal and a password supplied by the body of the request |
| DelUser | BankF/user/{name} | DELETE | true | if the password supplied in the header matches the user {name}'s password, then the user is deleted |
| AdminDelUser | BankF/admin/user/{name} | DELETE | true | if the password supplied in the header matches the admin password, then the user is deleted |
");
+ resp->setBody("# Meta UsageError Responses
| # | meaning |
| -1 | UserNotFound |
| -2 | WrongPassword |
| -3 | InvalidRequest |
| -4 | NameTooLong |
| -5 | UserAlreadyExists |
| -6 | InsufficientFunds |
Things of Note
- all endpoints respond with JSON file type
- "A" denotes requiring Authentication in the form of a header titled "Password"
Usage
| Name | Path | Method | A | Description |
| GetBal | BankF/{name}/bal | GET | false | returns the balance of a given user {name} |
| GetLog | BankF/{name}/log | GET | true | returns a list of last n number of transactions (a configurable amount) of a given user {name} |
| SendFunds | BankF/{name}/send/{to}/amount={amount} | POST | true | sends {amount} from user {name} to user {to} |
| VerifyPassword | BankF/{name}/pass/verify | GET | true | returns 1 if the supplied user {name}'s password matches the password supplied in the header |
Meta Usage
| Name | Path | Method | A | Description |
| ChangePassword | BankF/{name}/pass/change | PATCH | true | if the password supplied in the header matches the user {name}'s password, the user’s password is changed to the one given in the body |
| SetBal | BankF/admin/{name}/bal/amount={amount} | PATCH | true | sets the balance of a give user {name} if the supplied password matches the admin password |
System Usage
| Name | Path | Method | A | Description |
| Help | BankF/help | GET | false | the page you’re looking at right now! |
| Ping | BankF/ping | GET | false | for pinging the server to see if its online |
| Close | BankF/admin/close | POST | true | saves and then closes the program if the supplied password matches the admin password |
| Contains | BankF/contains/{name} | GET | false | returns 1 if the supplied user {name} exists |
| AdminVerifyPass | BankF/admin/verify | GET | true | returns 1 if the password supplied in the header matches the admin password |
User Management
| Name | Path | Method | A | Description |
| AddUser | BankF/user/{name} | POST | true | registers a user with the name {name}, balance of 0 and a password of the password supplied in the header |
| AdminAddUser | BankF/admin/user/{name}?init_bal={init_bal} | POST | true | if the password supplied in the header matches the admin password, then it registers a user with the name {name}, balance of init_bal and a password supplied by the body of the request |
| DelUser | BankF/user/{name} | DELETE | true | if the password supplied in the header matches the user {name}'s password, then the user is deleted |
| AdminDelUser | BankF/admin/user/{name} | DELETE | true | if the password supplied in the header matches the admin password, then the user is deleted |
");
resp->setExpiredTime(0);
callback(resp);
}