diff --git a/help.md b/help.md index 0650cbf..00ae6aa 100644 --- a/help.md +++ b/help.md @@ -1,14 +1,13 @@ # Error Responses -| # | meaning | -| --- | ------------------ | -| -1 | UserNotFound | -| -2 | WrongPassword | -| -3 | InvalidRequest | -| -4 | WrongAdminPassword | -| -5 | NameTooLong | -| -6 | UserAlreadyExists | -| -7 | InsufficientFunds | +| # | meaning | +| --- | ----------------- | +| -1 | UserNotFound | +| -2 | WrongPassword | +| -3 | InvalidRequest | +| -4 | NameTooLong | +| -5 | UserAlreadyExists | +| -6 | InsufficientFunds | # Things of Note * all endpoints respond with **JSON** file type @@ -32,6 +31,7 @@ | Name | Path | Method | A | Description | | :-------------: | :--------------- | :----: | :---: | ------------------------------------------------------------------------------------- | | Help | /help | GET | false | the page you're looking at right now! | +| Ping | /ping | GET | false | for pinging the server to see if its online | | Close | /admin/close | POST | true | saves and then closes the program if the supplied password matches the admin password | | Contains | /contains/{name} | GET | false | returns `true` or `false` depending on if the supplied user `{name}` exists | | AdminVerifyPass | /admin/verify | GET | true | returns `1` if the password supplied in the header matches the admin password | diff --git a/src/bank_f.cpp b/src/bank_f.cpp index 23a9643..548067c 100644 --- a/src/bank_f.cpp +++ b/src/bank_f.cpp @@ -31,7 +31,6 @@ BankF::BankF(Bank *b) : bank(*b) {} void BankF::Help(req_args) const { auto resp = HttpResponse::newHttpResponse(); - auto handlerInfo = app().getHandlersInfo(); resp->setBody("

Error Responses

# meaning
-1 UserNotFound
-2 WrongPassword
-3 InvalidRequest
-4 WrongAdminPassword
-5 NameTooLong
-6 UserAlreadyExists
-7 InsufficientFunds

Things of Note

Usage

Name Path Method A Description
GetBal /{name}/bal GET false returns the balance of a given user {name}
GetLog /{name}/log GET true returns a list of last n number of transactions (a configurable amount) of a given user {name}
SendFunds /{name}/send/{to}/amount={amount} POST true sends {amount} from user {name} to user {to}
VerifyPassword /{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 /{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 /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 /help GET false the page you’re looking at right now!
Close /admin/close POST true saves and then closes the program if the supplied password matches the admin password
Contains /contains/{name} GET false returns true or false depending on if the supplied user {name} exists
AdminVerifyPass /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 /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 /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 /user/{name} DELETE true if the password supplied in the header matches the user {name}'s password, then the user is deleted
AdminDelUser /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); @@ -52,6 +51,13 @@ void BankF::Close(req_args) const } JSON(res); } +void BankF::Ping(req_args) const +{ + auto resp = HttpResponse::newHttpResponse(); + resp->setBody("pong"); + resp->setExpiredTime(0); + callback(resp); +} void BankF::AddUser(req_args, const std::string &name) const { JSON(bank.AddUser(std::move(name), PASS_HEADER));