Mercurial > minori
annotate include/core/anime_db.h @ 317:b1f4d1867ab1
services: VERY initial Kitsu support
it only supports user authentication for now, but it's definitely
a start.
| author | Paper <paper@paper.us.eu.org> |
|---|---|
| date | Wed, 12 Jun 2024 04:07:10 -0400 |
| parents | 3ec7804abf17 |
| children | d928ec7b6a0d |
| rev | line source |
|---|---|
|
261
3ec7804abf17
include: make header guards more sane
Paper <paper@paper.us.eu.org>
parents:
258
diff
changeset
|
1 #ifndef MINORI_CORE_ANIME_DB_H_ |
|
3ec7804abf17
include: make header guards more sane
Paper <paper@paper.us.eu.org>
parents:
258
diff
changeset
|
2 #define MINORI_CORE_ANIME_DB_H_ |
| 85 | 3 |
| 10 | 4 #include "core/anime.h" |
| 175 | 5 #include "json/json_fwd.hpp" |
| 76 | 6 #include <string> |
| 10 | 7 #include <unordered_map> |
| 8 | |
| 9 namespace Anime { | |
| 10 | |
| 11 class Database { | |
| 258 | 12 public: |
| 13 std::unordered_map<int, Anime> items; | |
| 14 size_t GetTotalAnimeAmount(); | |
| 15 size_t GetTotalEpisodeAmount(); | |
| 16 size_t GetTotalWatchedAmount(); | |
| 17 size_t GetTotalPlannedAmount(); | |
| 18 double GetAverageScore(); | |
| 19 double GetScoreDeviation(); | |
| 20 size_t GetListsAnimeAmount(ListStatus status); | |
| 21 int GetAnimeFromTitle(const std::string& title); | |
|
173
de0a8d2f28b3
WILL NOT COMPILE: sample export ability for anime db
Paper <mrpapersonic@gmail.com>
parents:
85
diff
changeset
|
22 |
| 258 | 23 bool GetDatabaseAsJSON(nlohmann::json& json); |
| 24 bool SaveDatabaseToDisk(); | |
|
174
f88eda79c60a
anime/db: add some more json functionality, still doesn't compile :/
Paper <mrpapersonic@gmail.com>
parents:
173
diff
changeset
|
25 |
| 258 | 26 bool ParseDatabaseJSON(const nlohmann::json& json); |
| 27 bool LoadDatabaseFromDisk(); | |
|
317
b1f4d1867ab1
services: VERY initial Kitsu support
Paper <paper@paper.us.eu.org>
parents:
261
diff
changeset
|
28 |
|
b1f4d1867ab1
services: VERY initial Kitsu support
Paper <paper@paper.us.eu.org>
parents:
261
diff
changeset
|
29 /* These are here to make sure that our service IDs don't collide |
|
b1f4d1867ab1
services: VERY initial Kitsu support
Paper <paper@paper.us.eu.org>
parents:
261
diff
changeset
|
30 * and make the whole thing go boom. */ |
|
b1f4d1867ab1
services: VERY initial Kitsu support
Paper <paper@paper.us.eu.org>
parents:
261
diff
changeset
|
31 int GetUnusedId(); |
|
b1f4d1867ab1
services: VERY initial Kitsu support
Paper <paper@paper.us.eu.org>
parents:
261
diff
changeset
|
32 int LookupServiceId(Service service, const std::string& id_to_find); |
|
b1f4d1867ab1
services: VERY initial Kitsu support
Paper <paper@paper.us.eu.org>
parents:
261
diff
changeset
|
33 int LookupServiceIdOrUnused(Service service, const std::string& id_to_find); |
| 10 | 34 }; |
| 35 | |
| 11 | 36 extern Database db; |
| 10 | 37 |
| 38 } // namespace Anime | |
| 85 | 39 |
|
261
3ec7804abf17
include: make header guards more sane
Paper <paper@paper.us.eu.org>
parents:
258
diff
changeset
|
40 #endif // MINORI_CORE_ANIME_DB_H_ |
