diff options
| author | Fuwn <[email protected]> | 2024-01-06 06:05:28 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-01-06 06:05:28 -0800 |
| commit | 9dfde0448a1da2597f8709e9d1455e4cdf98c0d1 (patch) | |
| tree | a8a79329afce98526741c913900a3131e1cec45d /src/lib/AniList/user.ts | |
| parent | refactor(tools): input template (diff) | |
| download | due.moe-9dfde0448a1da2597f8709e9d1455e4cdf98c0d1.tar.xz due.moe-9dfde0448a1da2597f8709e9d1455e4cdf98c0d1.zip | |
feat(tools): dump profile tool
Diffstat (limited to 'src/lib/AniList/user.ts')
| -rw-r--r-- | src/lib/AniList/user.ts | 44 |
1 files changed, 44 insertions, 0 deletions
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<User> => ( await ( @@ -44,3 +66,25 @@ export const user = async (username: string): Promise<User> => }) ).json() )['data']['User']; + +export const dumpUser = async (username: string): Promise<User> => + ( + 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']; |