aboutsummaryrefslogtreecommitdiff
path: root/src/lib/AniList/wrapped.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/AniList/wrapped.ts')
-rw-r--r--src/lib/AniList/wrapped.ts52
1 files changed, 36 insertions, 16 deletions
diff --git a/src/lib/AniList/wrapped.ts b/src/lib/AniList/wrapped.ts
index d3c67fa2..35ce7554 100644
--- a/src/lib/AniList/wrapped.ts
+++ b/src/lib/AniList/wrapped.ts
@@ -1,21 +1,33 @@
import type { AniListAuthorisation, UserIdentity } from './identity';
+export interface WrappedMediaFormat {
+ startYears: {
+ startYear: number;
+ minutesWatched: number;
+ count: number;
+ };
+ genres: {
+ meanScore: number;
+ minutesWatched: number;
+ chaptersRead: number;
+ genre: string;
+ mediaIds: number[];
+ }[];
+ tags: {
+ meanScore: number;
+ minutesWatched: number;
+ chaptersRead: number;
+ tag: {
+ name: string;
+ };
+ mediaIds: number[];
+ }[];
+}
+
export interface Wrapped {
statistics: {
- anime: {
- startYears: {
- startYear: number;
- minutesWatched: number;
- count: number;
- }[];
- };
- manga: {
- startYears: {
- startYear: number;
- chaptersRead: number;
- count: number;
- }[];
- };
+ anime: WrappedMediaFormat;
+ manga: WrappedMediaFormat;
};
activities: {
statusCount: number;
@@ -104,8 +116,16 @@ export const wrapped = async (
User(name: "${identity.name}") {
avatar { large }
statistics {
- anime { startYears { startYear minutesWatched count } }
- manga { startYears { startYear chaptersRead count } }
+ anime {
+ startYears { startYear minutesWatched count }
+ genres(sort: [ MEAN_SCORE_DESC ]) { meanScore minutesWatched chaptersRead genre mediaIds }
+ tags(sort: [ MEAN_SCORE_DESC ]) { meanScore minutesWatched chaptersRead tag { name } mediaIds }
+ }
+ manga {
+ startYears { startYear chaptersRead count }
+ genres(sort: [ MEAN_SCORE_DESC ]) { meanScore minutesWatched chaptersRead genre mediaIds }
+ tags(sort: [ MEAN_SCORE_DESC ]) { meanScore minutesWatched chaptersRead tag { name } mediaIds }
+ }
}
}
}`