From 8a8cf810e4a03453b8254eaad56c27529dc107ef Mon Sep 17 00:00:00 2001 From: Fuwn Date: Fri, 22 Dec 2023 06:53:35 -0800 Subject: feat(wrapped): genres and tags --- src/lib/AniList/wrapped.ts | 52 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 16 deletions(-) (limited to 'src/lib/AniList/wrapped.ts') 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 } + } } } }` -- cgit v1.2.3