droplet 1.3.0
A multipurpose Discord bot with the hacker in mind
Loading...
Searching...
No Matches
WebUserRepository.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 <IRepository.hpp>
15#include <cstddef>
16
17#include "WebUserDTO.hpp"
18
20
21//-----------------------------------------------------
22//
23//-----------------------------------------------------
24class WebUserRepository : public IRepository<WebUserDTO> {
25 public:
27 explicit WebUserRepository(DatabaseExecutor& executor);
28
29 [[nodiscard]] bool create(const WebUserDTO& object) noexcept override;
30
31 [[nodiscard]] bool remove(size_t user_id) noexcept override;
32
33 [[nodiscard]] WebUserDTO get(size_t user_id) const noexcept override;
34
35 [[nodiscard]] WebUserDTO get(const std::string& username) const noexcept;
36
37 [[nodiscard]] std::vector<WebUserDTO> getAll() const noexcept;
38
39 [[nodiscard]] bool verify(const std::string& token, size_t clearance) noexcept;
40
41 [[nodiscard]] bool exists(const std::string& username) const noexcept;
42
43 [[nodiscard]] bool update(const WebUserDTO& object) noexcept override;
44
45 private:
46 DatabaseExecutor& executor_;
47};
Definition DatabaseExecutor.hpp:21
Definition IRepository.hpp:36
Definition WebUserDTO.hpp:17
bool remove(size_t user_id) noexcept override
Definition WebUserRepository.cpp:52
bool update(const WebUserDTO &object) noexcept override
Definition WebUserRepository.cpp:64
bool exists(const std::string &username) const noexcept
Definition WebUserRepository.cpp:162
std::vector< WebUserDTO > getAll() const noexcept
Definition WebUserRepository.cpp:134
WebUserDTO get(size_t user_id) const noexcept override
Definition WebUserRepository.cpp:92
bool verify(const std::string &token, size_t clearance) noexcept
Definition WebUserRepository.cpp:170
bool create(const WebUserDTO &object) noexcept override
Definition WebUserRepository.cpp:31
WebUserRepository()
Definition WebUserRepository.cpp:22