droplet
1.3.0
A multipurpose Discord bot with the hacker in mind
Toggle main menu visibility
Loading...
Searching...
No Matches
UserRepository.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
#include <cstdint>
17
#include <optional>
18
#include <vector>
19
20
#include "
UserDTO.hpp
"
21
22
class
DatabaseExecutor
;
23
24
//-----------------------------------------------------
25
//
26
//-----------------------------------------------------
27
class
UserRepository
:
public
IRepository
<UserDTO> {
28
public
:
29
explicit
UserRepository
(
DatabaseExecutor
& executor);
30
31
[[nodiscard]]
bool
create
(
const
UserDTO
&
object
)
noexcept
override
;
32
33
[[nodiscard]]
bool
remove
(
size_t
user_id)
noexcept
override
;
34
35
[[nodiscard]]
UserDTO
get
(
size_t
user_id)
const
noexcept
override
;
36
37
[[nodiscard]]
bool
update
(
const
UserDTO
&
object
)
noexcept
override
;
38
39
[[nodiscard]] std::vector<UserDTO>
getTopTen
()
const
noexcept
;
40
41
[[nodiscard]] std::optional<size_t>
try_adjust_exp
(
size_t
user_id, std::int64_t delta,
size_t
min_exp)
noexcept
;
42
43
private
:
44
DatabaseExecutor
& executor_;
45
};
IRepository.hpp
UserDTO.hpp
DatabaseExecutor
Definition
DatabaseExecutor.hpp:14
IRepository
Definition
IRepository.hpp:36
UserDTO
Definition
UserDTO.hpp:20
UserRepository::create
bool create(const UserDTO &object) noexcept override
Definition
UserRepository.cpp:28
UserRepository::UserRepository
UserRepository(DatabaseExecutor &executor)
Definition
UserRepository.cpp:22
UserRepository::getTopTen
std::vector< UserDTO > getTopTen() const noexcept
Definition
UserRepository.cpp:98
UserRepository::get
UserDTO get(size_t user_id) const noexcept override
Definition
UserRepository.cpp:80
UserRepository::try_adjust_exp
std::optional< size_t > try_adjust_exp(size_t user_id, std::int64_t delta, size_t min_exp) noexcept
Definition
UserRepository.cpp:124
UserRepository::update
bool update(const UserDTO &object) noexcept override
Definition
UserRepository.cpp:60
UserRepository::remove
bool remove(size_t user_id) noexcept override
Definition
UserRepository.cpp:48
src
bot_library
persistence
UserRepository.hpp
Generated by
1.18.0