summaryrefslogtreecommitdiff
path: root/src/database/database.h
diff options
context:
space:
mode:
authorBen Deutsch <ben@bendeutsch.de>2018-08-05 13:13:38 +0200
committerLoïc Blot <nerzhul@users.noreply.github.com>2018-08-05 13:13:38 +0200
commit153fb211ac2342907eb766a79c1f41824f981ab5 (patch)
tree58a927bbf9a7d3d3811df6a703de02362b6474fb /src/database/database.h
parent18368824958139f1428d534082852d778982b4c9 (diff)
downloadminetest-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.h23
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;
+};