Files
aniplay-api/src/controllers/auth/anilist/getUser.ts

28 lines
560 B
TypeScript

import { env } from "cloudflare:workers";
import type { User } from "~/types/user";
export async function getUser(aniListToken: string): Promise<User> {
const durableObjectId = env.ANILIST_DO.idFromName("GLOBAL");
const stub = env.ANILIST_DO.get(durableObjectId);
let data;
try {
data = await stub.getUserProfile(aniListToken);
} catch (e: any) {
if (e.message.includes("401")) {
return null;
}
throw e;
}
if (!data) {
return null;
}
return {
...data,
statistics: { ...data?.statistics?.anime },
};
}