mirror of
https://github.com/Expand-sys/CCash
synced 2026-03-22 20:47:10 +11:00
✨ Admin Verify Pass
This commit is contained in:
parent
541717ef7b
commit
d9b47480e9
4 changed files with 15 additions and 3 deletions
|
|
@ -113,6 +113,10 @@ public:
|
||||||
}
|
}
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
bool AdminVerifyPass(const std::string &attempt)
|
||||||
|
{
|
||||||
|
return admin_pass == attempt;
|
||||||
|
}
|
||||||
|
|
||||||
int_fast64_t GetBal(const std::string &name) const
|
int_fast64_t GetBal(const std::string &name) const
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -110,6 +110,11 @@ public:
|
||||||
{
|
{
|
||||||
JSON(bank.AllUsers());
|
JSON(bank.AllUsers());
|
||||||
}
|
}
|
||||||
|
void AdminVerifyPass(req_args)
|
||||||
|
{
|
||||||
|
GEN_BODY
|
||||||
|
JSON(bank.AdminVerifyPass(body["attempt"].asCString()));
|
||||||
|
}
|
||||||
|
|
||||||
METHOD_LIST_BEGIN
|
METHOD_LIST_BEGIN
|
||||||
METHOD_ADD(BankF::Close, "/admin/close", Post, Options);
|
METHOD_ADD(BankF::Close, "/admin/close", Post, Options);
|
||||||
|
|
@ -125,6 +130,7 @@ public:
|
||||||
METHOD_ADD(BankF::Contains, "/contains/{name}", Get, Options);
|
METHOD_ADD(BankF::Contains, "/contains/{name}", Get, Options);
|
||||||
METHOD_ADD(BankF::GetBal, "/{name}/bal", Get, Options);
|
METHOD_ADD(BankF::GetBal, "/{name}/bal", Get, Options);
|
||||||
METHOD_ADD(BankF::AllUsers, "/allusers", Get, Options);
|
METHOD_ADD(BankF::AllUsers, "/allusers", Get, Options);
|
||||||
|
METHOD_ADD(BankF::AdminVerifyPass, "/admin/vpass", Get, Options);
|
||||||
|
|
||||||
METHOD_ADD(BankF::DelUser, "/user", Delete, Options);
|
METHOD_ADD(BankF::DelUser, "/user", Delete, Options);
|
||||||
METHOD_ADD(BankF::AdminDelUser, "/admin/user", Delete, Options);
|
METHOD_ADD(BankF::AdminDelUser, "/admin/user", Delete, Options);
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ struct User
|
||||||
{
|
{
|
||||||
uint_fast32_t balance = 0;
|
uint_fast32_t balance = 0;
|
||||||
uint64_t password;
|
uint64_t password;
|
||||||
|
bool is_admin = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief User constructor
|
* @brief User constructor
|
||||||
|
|
@ -20,14 +21,15 @@ struct User
|
||||||
* @param init_bal initial balance
|
* @param init_bal initial balance
|
||||||
* @param init_pass initial password
|
* @param init_pass initial password
|
||||||
*/
|
*/
|
||||||
User(uint_fast32_t init_bal, std::string &&init_pass) : balance(init_bal), password(XXH64(init_pass.data(), init_pass.size(), 1)) {}
|
User(uint_fast32_t init_bal, std::string &&init_pass, bool state = false) : balance(init_bal), password(XXH64(init_pass.data(), init_pass.size(), 1)), is_admin(state) {}
|
||||||
User(uint_fast32_t init_bal, uint64_t init_pass) : balance(init_bal), password(init_pass) {}
|
User(uint_fast32_t init_bal, uint64_t init_pass, bool state = false) : balance(init_bal), password(init_pass), is_admin(state) {}
|
||||||
|
|
||||||
Json::Value Serialize() const
|
Json::Value Serialize() const
|
||||||
{
|
{
|
||||||
Json::Value res;
|
Json::Value res;
|
||||||
res["balance"] = (Json::UInt)balance;
|
res["balance"] = (Json::UInt)balance;
|
||||||
res["password"] = (Json::UInt64)password;
|
res["password"] = (Json::UInt64)password;
|
||||||
|
res["is_admin"] = is_admin;
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
2
main.cpp
2
main.cpp
|
|
@ -44,7 +44,7 @@ int main(int argc, char **argv)
|
||||||
[](const drogon::HttpRequestPtr &req, const drogon::HttpResponsePtr &resp) {
|
[](const drogon::HttpRequestPtr &req, const drogon::HttpResponsePtr &resp) {
|
||||||
resp->addHeader("Access-Control-Allow-Origin", "*");
|
resp->addHeader("Access-Control-Allow-Origin", "*");
|
||||||
});
|
});
|
||||||
app().loadConfigFile("../config.json").registerController(API).setThreadNum(std::stoul(argv[3])).enableRunAsDaemon().run();
|
app().loadConfigFile("../config.json").addListener("0.0.0.0", 80).registerController(API).setThreadNum(std::stoul(argv[3])).enableRunAsDaemon().run();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
Loading…
Reference in a new issue