From 14794dc3a0f2f870f8cfed437dfd148295be246d Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sat, 23 Dec 2023 16:46:56 -0800 Subject: feat(media): include all option --- src/lib/AniList/media.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/lib') diff --git a/src/lib/AniList/media.ts b/src/lib/AniList/media.ts index b1ea2f11..52d7da85 100644 --- a/src/lib/AniList/media.ts +++ b/src/lib/AniList/media.ts @@ -135,22 +135,26 @@ const collectionQueryTemplate = (type: Type, userId: number, includeCompleted: b interface CollectionOptions { includeCompleted?: boolean; forcePrune?: boolean; + all?: boolean; } interface NonNullCollectionOptions { includeCompleted: boolean; forcePrune: boolean; + all?: boolean; } const assignDefaultOptions = (options: CollectionOptions) => { const nonNullOptions: NonNullCollectionOptions = { includeCompleted: false, - forcePrune: false + forcePrune: false, + all: false }; if (options.includeCompleted !== undefined) nonNullOptions.includeCompleted = options.includeCompleted; if (options.forcePrune !== undefined) nonNullOptions.forcePrune = options.forcePrune; + if (options.all !== undefined) nonNullOptions.all = options.all; return nonNullOptions; }; @@ -209,14 +213,18 @@ export const mediaListCollection = async ( if (mediaCache === '') if (type === Type.Anime) anime.set( - JSON.stringify(flattenLists(userIdResponse['data']['MediaListCollection']['lists'])) + JSON.stringify( + flattenLists(userIdResponse['data']['MediaListCollection']['lists'], options.all) + ) ); else manga.set( - JSON.stringify(flattenLists(userIdResponse['data']['MediaListCollection']['lists'])) + JSON.stringify( + flattenLists(userIdResponse['data']['MediaListCollection']['lists'], options.all) + ) ); - return flattenLists(userIdResponse['data']['MediaListCollection']['lists']); + return flattenLists(userIdResponse['data']['MediaListCollection']['lists'], options.all); }; export const publicMediaListCollection = async (userId: number, type: Type): Promise => -- cgit v1.2.3