aboutsummaryrefslogtreecommitdiff
path: root/src/lib/AniList/user.ts
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-01-06 06:05:28 -0800
committerFuwn <[email protected]>2024-01-06 06:05:28 -0800
commit9dfde0448a1da2597f8709e9d1455e4cdf98c0d1 (patch)
treea8a79329afce98526741c913900a3131e1cec45d /src/lib/AniList/user.ts
parentrefactor(tools): input template (diff)
downloaddue.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.ts44
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'];