Mercurial > minori
view include/core/anime_db.h @ 327:b5d6c27c308f
anime: refactor Anime::SeriesSeason to Season class
ToLocalString has also been altered to take in both season
and year because lots of locales actually treat formatting
seasons differently! most notably is Russian which adds a
suffix at the end to notate seasons(??)
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Thu, 13 Jun 2024 01:49:18 -0400 |
parents | 10096c5489e3 |
children |
line wrap: on
line source
#ifndef MINORI_CORE_ANIME_DB_H_ #define MINORI_CORE_ANIME_DB_H_ #include "core/anime.h" #include "json/json_fwd.hpp" #include <string> #include <unordered_map> namespace Anime { class Database { public: std::unordered_map<int, Anime> items; size_t GetTotalAnimeAmount() const; size_t GetTotalEpisodeAmount() const; size_t GetTotalWatchedAmount() const; size_t GetTotalPlannedAmount() const; double GetAverageScore() const; double GetScoreDeviation() const; size_t GetListsAnimeAmount(ListStatus status) const; int LookupAnimeTitle(const std::string& title) const; bool GetDatabaseAsJSON(nlohmann::json& json) const; bool SaveDatabaseToDisk() const; bool ParseDatabaseJSON(const nlohmann::json& json); bool LoadDatabaseFromDisk(); /* These are here to make sure that our service IDs don't collide * and make the whole thing go boom. */ int GetUnusedId() const; int LookupServiceId(Service service, const std::string& id_to_find) const; int LookupServiceIdOrUnused(Service service, const std::string& id_to_find) const; /* when syncing we don't want to keep deleted anime */ void RemoveAllUserData(); std::vector<int> GetAllAnimeForSeason(Season season); }; extern Database db; } // namespace Anime #endif // MINORI_CORE_ANIME_DB_H_