From 9dfde0448a1da2597f8709e9d1455e4cdf98c0d1 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sat, 6 Jan 2024 06:05:28 -0800 Subject: feat(tools): dump profile tool --- src/lib/AniList/user.ts | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'src/lib/AniList/user.ts') diff --git a/src/lib/AniList/user.ts b/src/lib/AniList/user.ts index adc00c56..93799480 100644 --- a/src/lib/AniList/user.ts +++ b/src/lib/AniList/user.ts @@ -20,6 +20,28 @@ export interface User { }; } +export interface FullUser { + id: number; + name: string; + avatar: { + large: string; + medium: string; + }; + bans: JSON; + bannerImage: string; + siteUrl: string; + donatorTier: number; + donatorBadge: string; + moderatorRoles: string[]; + createAt: number; + updatedAt: number; + previousNames: { + name: string; + createdAt: number; + updatedAt: string; + }[]; +} + export const user = async (username: string): Promise => ( await ( @@ -44,3 +66,25 @@ export const user = async (username: string): Promise => }) ).json() )['data']['User']; + +export const dumpUser = async (username: string): Promise => + ( + await ( + await fetch('https://graphql.anilist.co', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json' + }, + body: JSON.stringify({ + query: `{ User(name: "${username}") { + id name + avatar { large medium } + bannerImage bans siteUrl donatorTier donatorBadge moderatorRoles + createdAt updatedAt + previousNames { name createdAt updatedAt } + } }` + }) + }) + ).json() + )['data']['User']; -- cgit v1.2.3