12#include <unordered_map>
13#include <unordered_set>
28 [[nodiscard]]
bool insert(
const std::string& key,
const std::string& value)
noexcept;
29 [[nodiscard]]
bool remove(
const std::string& key)
noexcept;
30 [[nodiscard]]
bool exists(
const std::string& key,
const std::string& value)
noexcept;
32 const std::string& video_id,
33 const std::string& title)
noexcept;
35 const std::string& video_id,
36 const std::string& title)
noexcept;
37 [[nodiscard]]
bool has_announced(
const std::string& key)
noexcept;
38 [[nodiscard]] std::unordered_set<std::string>
announced_ids(
const std::string& key)
noexcept;
39 [[nodiscard]]
bool load()
noexcept;
40 void set_active(
const std::string& key,
bool active)
noexcept;
41 [[nodiscard]]
bool is_active(
const std::string& key)
noexcept;
45 const std::string& video_id,
46 const std::string& title,
47 bool allow_announce)
noexcept;
50 std::unordered_map<std::string, std::string> latest_events;
51 std::unordered_map<std::string, std::unordered_set<std::string>> announced_videos;
52 std::unordered_map<std::string, bool> active_events;
53 std::mutex active_events_mutex;
54 std::mutex latest_events_mutex;
YoutubeClaimResult
Definition LatestEventsRepository.hpp:17
@ Seeded
Definition LatestEventsRepository.hpp:19
@ AlreadyAnnounced
Definition LatestEventsRepository.hpp:18
@ Claimed
Definition LatestEventsRepository.hpp:20
@ Failed
Definition LatestEventsRepository.hpp:21
Definition DatabaseExecutor.hpp:14
bool insert(const std::string &key, const std::string &value) noexcept
Definition LatestEventsRepository.cpp:98
bool load() noexcept
Definition LatestEventsRepository.cpp:238
bool remove(const std::string &key) noexcept
Definition LatestEventsRepository.cpp:124
YoutubeClaimResult seed_video(const std::string &key, const std::string &video_id, const std::string &title) noexcept
Definition LatestEventsRepository.cpp:208
YoutubeClaimResult try_claim_video(const std::string &key, const std::string &video_id, const std::string &title) noexcept
Definition LatestEventsRepository.cpp:199
bool has_announced(const std::string &key) noexcept
Definition LatestEventsRepository.cpp:217
bool exists(const std::string &key, const std::string &value) noexcept
Definition LatestEventsRepository.cpp:146
LatestEventsRepository(DatabaseExecutor &executor)
Definition LatestEventsRepository.cpp:77
void set_active(const std::string &key, bool active) noexcept
Definition LatestEventsRepository.cpp:90
bool is_active(const std::string &key) noexcept
Definition LatestEventsRepository.cpp:80
std::unordered_set< std::string > announced_ids(const std::string &key) noexcept
Definition LatestEventsRepository.cpp:226