From 545d8a3473823f0a86cad3c177dbbb4ebb794a75 Mon Sep 17 00:00:00 2001 From: Factiven Date: Mon, 17 Apr 2023 13:33:37 +0700 Subject: Snapshot Moopa v3.2 --- pages/api/get-media.js | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 pages/api/get-media.js (limited to 'pages/api/get-media.js') diff --git a/pages/api/get-media.js b/pages/api/get-media.js new file mode 100644 index 0000000..7c45d03 --- /dev/null +++ b/pages/api/get-media.js @@ -0,0 +1,78 @@ +// pages/api/anime-media-list.js + +export default async function handler(req, res) { + const { username, status } = req.body; + + try { + const response = await fetch("https://graphql.anilist.co/", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + query: ` + query ($username: String, $status: MediaListStatus) { + MediaListCollection(userName: $username, type: ANIME, status: $status, sort: SCORE_DESC) { + user { + id + name + about (asHtml: true) + createdAt + avatar { + large + } + statistics { + anime { + count + episodesWatched + meanScore + minutesWatched + } + } + bannerImage + mediaListOptions { + animeList { + sectionOrder + } + } + } + lists { + status + name + entries { + id + mediaId + status + progress + score + media { + id + status + title { + english + romaji + } + episodes + coverImage { + large + } + } + } + } + } + } + `, + variables: { + username, + status, + }, + }), + }); + + const data = await response.json(); + res.status(200).json(data.data.MediaListCollection); + } catch (error) { + console.error(error); + res.status(500).json({ message: "Internal server error" }); + } +} -- cgit v1.2.3