diff options
| author | Factiven <[email protected]> | 2023-09-13 00:45:53 +0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-09-13 00:45:53 +0700 |
| commit | 7327a69b55a20b99b14ee0803d6cf5f8b88c45ef (patch) | |
| tree | cbcca777593a8cc4b0282e7d85a6fc51ba517e25 /pages/api/consumet | |
| parent | Update issue templates (diff) | |
| download | moopa-7327a69b55a20b99b14ee0803d6cf5f8b88c45ef.tar.xz moopa-7327a69b55a20b99b14ee0803d6cf5f8b88c45ef.zip | |
Update v4 - Merge pre-push to main (#71)
* Create build-test.yml
* initial v4 commit
* update: github workflow
* update: push on branch
* Update .github/ISSUE_TEMPLATE/bug_report.md
* configuring next.config.js file
Diffstat (limited to 'pages/api/consumet')
| -rw-r--r-- | pages/api/consumet/episode/[id].js | 68 | ||||
| -rw-r--r-- | pages/api/consumet/source/[...params].js | 36 |
2 files changed, 0 insertions, 104 deletions
diff --git a/pages/api/consumet/episode/[id].js b/pages/api/consumet/episode/[id].js deleted file mode 100644 index 6e7f318..0000000 --- a/pages/api/consumet/episode/[id].js +++ /dev/null @@ -1,68 +0,0 @@ -import cacheData from "memory-cache"; - -const API_URL = process.env.API_URI; - -export default async function handler(req, res) { - try { - const id = req.query.id; - const dub = req.query.dub || false; - const refresh = req.query.refresh || false; - - const providers = ["enime", "gogoanime", "zoro"]; - const datas = []; - - const cached = cacheData.get(id + dub); - - if (refresh) { - cacheData.del(id + dub); - } - - if (!refresh && cached) { - return res.status(200).json(cached); - } else { - async function fetchData(provider) { - try { - const data = await fetch( - dub && provider === "gogoanime" - ? `${API_URL}/meta/anilist/info/${id}?dub=true` - : `${API_URL}/meta/anilist/info/${id}?provider=${provider}` - ).then((res) => { - if (!res.ok) { - switch (res.status) { - case 404: { - return null; - } - } - } - return res.json(); - }); - if (data.episodes.length > 0) { - datas.push({ - providerId: provider, - episodes: dub ? data.episodes : data.episodes.reverse(), - }); - } - } catch (error) { - console.error( - `Error fetching data for provider '${provider}':`, - error - ); - } - } - if (dub === false) { - await Promise.all(providers.map((provider) => fetchData(provider))); - } else { - await fetchData("gogoanime"); - } - - if (datas.length === 0) { - return res.status(404).json({ message: "Anime not found" }); - } else { - cacheData.put(id + dub, { data: datas }, 1000 * 60 * 60 * 10); - res.status(200).json({ data: datas }); - } - } - } catch (error) { - res.status(500).json({ error }); - } -} diff --git a/pages/api/consumet/source/[...params].js b/pages/api/consumet/source/[...params].js deleted file mode 100644 index e589d4a..0000000 --- a/pages/api/consumet/source/[...params].js +++ /dev/null @@ -1,36 +0,0 @@ -import axios from "axios"; -import cacheData from "memory-cache"; - -const API_URL = process.env.API_URI; - -export default async function handler(req, res) { - const query = req.query.params; - try { - const provider = query[0]; - const id = query[1]; - - const cached = cacheData.get(id); - if (cached) { - return res.status(200).json(cached); - } else { - let datas; - - const { data } = await axios.get( - `${API_URL}/meta/anilist/watch/${id}?provider=${provider}` - ); - - if (data) { - datas = data; - cacheData.put(id, data, 1000 * 60 * 5); - } - - if (!datas) { - return res.status(404).json({ message: "Source not found" }); - } - - res.status(200).json(datas); - } - } catch (error) { - res.status(500).json({ error }); - } -} |