CCash/include/user.hpp
2021-04-13 10:52:36 -07:00

33 lines
No EOL
886 B
C++

#pragma once
#include <json/json.h>
#include <string>
struct User
{
uint_fast32_t balance = 0;
uint64_t password;
/**
* @brief User constructor
*
* @param init_pass initial password
*/
User(std::string &&init_pass) : password(XXH64(init_pass.data(), init_pass.size(), 1)) {}
/**
* @brief User Constructor for admins
*
* @param init_bal initial balance
* @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, uint64_t init_pass) : balance(init_bal), password(init_pass) {}
Json::Value Serialize() const
{
Json::Value res;
res["balance"] = (Json::UInt)balance;
res["password"] = (Json::UInt64)password;
return res;
}
};