droplet 1.3.0
A multipurpose Discord bot with the hacker in mind
Loading...
Searching...
No Matches
UserManager.hpp
Go to the documentation of this file.
1/*
2 * (c) Copyright erarnitox.de - All rights reserved
3 * Author: Erarnitox <david@erarnitox.de>
4 *
5 * License: MIT License
6 *
7 * Description:
8 *
9 * Documentation: https://droplet.erarnitox.de/doxygen/html/
10 */
11
12#pragma once
13
14#include <Poco/SingletonHolder.h>
15
16#include <string>
17
19
20class UserManager {
21 private:
22 Poco::Mutex mutex;
23 std::string smtpServer;
24 std::string smtpUser;
25 std::string smtpPassword;
26 DatabaseExecutor* db_{nullptr};
27
28 UserManager();
29
30 public:
31 static UserManager& getInstance() noexcept;
32 void set_executor(DatabaseExecutor& db) noexcept {
33 db_ = &db;
34 }
35 void addUser(const std::string& email, const std::string& username, const std::string& password);
36 bool verifyUser(const std::string& token);
37
38 private:
39 void sendVerificationEmail(const std::string& email, const std::string& token);
40};
Definition DatabaseExecutor.hpp:14
bool verifyUser(const std::string &token)
Definition UserManager.cpp:68
void set_executor(DatabaseExecutor &db) noexcept
Definition UserManager.hpp:32
void addUser(const std::string &email, const std::string &username, const std::string &password)
Definition UserManager.cpp:38
static UserManager & getInstance() noexcept
Definition UserManager.cpp:99