aboutsummaryrefslogtreecommitdiff
path: root/src/routes/api/anilist/increment/+server.ts
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-12-14 12:52:26 -0800
committerFuwn <[email protected]>2023-12-14 12:52:26 -0800
commitc4267cce67e7de6dea2277ce07b6f9a22d8ca674 (patch)
treec1279a47204ea7359937b469f61e48deb3c64747 /src/routes/api/anilist/increment/+server.ts
parentstyle(stores): simplify statements (diff)
downloaddue.moe-c4267cce67e7de6dea2277ce07b6f9a22d8ca674.tar.xz
due.moe-c4267cce67e7de6dea2277ce07b6f9a22d8ca674.zip
feat(api): nest routes
Diffstat (limited to 'src/routes/api/anilist/increment/+server.ts')
-rw-r--r--src/routes/api/anilist/increment/+server.ts27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/routes/api/anilist/increment/+server.ts b/src/routes/api/anilist/increment/+server.ts
new file mode 100644
index 00000000..4680236b
--- /dev/null
+++ b/src/routes/api/anilist/increment/+server.ts
@@ -0,0 +1,27 @@
+export const GET = async ({ url, cookies }) => {
+ const userCookie = cookies.get('user');
+
+ if (!userCookie) {
+ return new Response('Unauthenticated', { status: 401 });
+ }
+
+ const user = JSON.parse(userCookie);
+
+ return Response.json(
+ await (
+ await fetch('https://graphql.anilist.co', {
+ method: 'POST',
+ headers: {
+ Authorization: `${user['token_type']} ${user['access_token']}`,
+ 'Content-Type': 'application/json',
+ Accept: 'application/json'
+ },
+ body: JSON.stringify({
+ query: `mutation { SaveMediaListEntry(mediaId: ${
+ url.searchParams.get('id') || 'null'
+ }, progress: ${url.searchParams.get('progress') || 'null'}) { id } }`
+ })
+ })
+ ).json()
+ );
+};