pairpal
Loading...
Searching...
No Matches
storage.hpp
1#ifndef STORAGE_HPP
2#define STORAGE_HPP
3
4#include <string>
5#include <vector>
6#include <tuple>
7
8#include <sqlite3.h>
9
14class Storage {
15 private:
16 sqlite3 *db;
17 std::string divide = "^^";//用来在tag里进行区隔的
18 public:
23
28
35 bool addUser(const std::string &username, const std::string &password);
36
42 bool removeUser(std::string username);
43
49 bool isUserExist(std::string username);
50
55std::vector<std::tuple<int,std::string,std::string,std::vector<std::string>>> getUsers();
56
63 bool authenticateUser(const std::string& username, const std::string &password);
64
71 bool addTag(std::string username, std::string tag);
72
78 std::vector<std::string> getTags(std::string username);
85 bool removeTag(std::string username, std::string tag);
86 static void reset();
87};
88
89#endif // STORAGE_HPP
A class to manage user data.
Definition storage.hpp:14
bool authenticateUser(const std::string &username, const std::string &password)
Authenticates a user.
bool isUserExist(std::string username)
Checks if a user exists in the storage.
~Storage()
Destructor for the Storage class.
Storage()
Constructor for the Storage class.
bool addTag(std::string username, std::string tag)
Adds a tag to a user.
bool addUser(const std::string &username, const std::string &password)
Adds a user to the storage.
std::vector< std::string > getTags(std::string username)
Gets a list of tags for a user.
bool removeUser(std::string username)
Removes a user from the storage.
bool removeTag(std::string username, std::string tag)
delete tag for certain user
std::vector< std::tuple< int, std::string, std::string, std::vector< std::string > > > getUsers()
Gets a list of all users.