diff options
author | Ben Deutsch <ben@bendeutsch.de> | 2018-08-05 13:13:38 +0200 |
---|---|---|
committer | Loïc Blot <nerzhul@users.noreply.github.com> | 2018-08-05 13:13:38 +0200 |
commit | 153fb211ac2342907eb766a79c1f41824f981ab5 (patch) | |
tree | 58a927bbf9a7d3d3811df6a703de02362b6474fb /src/database/database.h | |
parent | 18368824958139f1428d534082852d778982b4c9 (diff) | |
download | minetest-153fb211ac2342907eb766a79c1f41824f981ab5.tar.gz minetest-153fb211ac2342907eb766a79c1f41824f981ab5.tar.bz2 minetest-153fb211ac2342907eb766a79c1f41824f981ab5.zip |
Replace auth.txt with SQLite auth database (#7279)
* Replace auth.txt with SQLite auth database
Diffstat (limited to 'src/database/database.h')
-rw-r--r-- | src/database/database.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/database/database.h b/src/database/database.h index 9926c7b93..b7d551935 100644 --- a/src/database/database.h +++ b/src/database/database.h @@ -19,6 +19,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #pragma once +#include <set> #include <string> #include <vector> #include "irr_v3d.h" @@ -61,3 +62,25 @@ public: virtual bool removePlayer(const std::string &name) = 0; virtual void listPlayers(std::vector<std::string> &res) = 0; }; + +struct AuthEntry +{ + u64 id; + std::string name; + std::string password; + std::vector<std::string> privileges; + s64 last_login; +}; + +class AuthDatabase +{ +public: + virtual ~AuthDatabase() = default; + + virtual bool getAuth(const std::string &name, AuthEntry &res) = 0; + virtual bool saveAuth(const AuthEntry &authEntry) = 0; + virtual bool createAuth(AuthEntry &authEntry) = 0; + virtual bool deleteAuth(const std::string &name) = 0; + virtual void listNames(std::vector<std::string> &res) = 0; + virtual void reload() = 0; +}; |