My Project
db.hpp
1 #ifndef __DB_HPP__
2 #define __DB_HPP__
3 
4 #include <iostream>
5 #include <sqlite3.h>
6 #include <string>
7 #include <chrono>
8 #include <random>
9 #include <cryptopp/sha.h>
10 #include <cryptopp/hex.h>
11 #include <cryptopp/filters.h>
12 
16 class Db {
17 
18 public:
19 
20  Db(std::string filename);
21 
29  int addUser(std::string username, std::string password);
30 
38  bool authUser(std::string username, std::string password);
39 
48  int updateTaste(std::string username, bool vote);
49 
56  int getTaste(std::string uname);
57 
61  void closeDatabase(void);
62 
63 private:
64  const int MAX_STATEMENT_SIZE = 500;
65  sqlite3* database;
66  std::mt19937 rng;
72  void createDb(std::string filename);
73 
80  std::string computeHash(std::string toHash);
81 };
82 
83 #endif /* __DB_HPP__ */
bool authUser(std::string username, std::string password)
Definition: db.cpp:83
int updateTaste(std::string username, bool vote)
Definition: db.cpp:143
Definition: db.hpp:16
void closeDatabase(void)
Definition: db.cpp:34
int addUser(std::string username, std::string password)
Definition: db.cpp:68
int getTaste(std::string uname)
Definition: db.cpp:123