diff options
| author | Fuwn <[email protected]> | 2023-12-28 17:29:11 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-12-28 17:29:11 -0800 |
| commit | a7c611ff57c99846a74bce374937a07851d7b388 (patch) | |
| tree | 604bf56bcd99a18084468f2383471e1663cb9856 /src/routes/api | |
| parent | chore(manga): no proxy dev (diff) | |
| download | due.moe-a7c611ff57c99846a74bce374937a07851d7b388.tar.xz due.moe-a7c611ff57c99846a74bce374937a07851d7b388.zip | |
refactor(api): remove unused api and mangadex
Diffstat (limited to 'src/routes/api')
| -rw-r--r-- | src/routes/api/mangadex/chapter/+server.ts | 29 | ||||
| -rw-r--r-- | src/routes/api/mangadex/feed/+server.ts | 26 | ||||
| -rw-r--r-- | src/routes/api/mangadex/manga/+server.ts | 72 | ||||
| -rw-r--r-- | src/routes/api/proxy/+server.ts | 18 |
4 files changed, 0 insertions, 145 deletions
diff --git a/src/routes/api/mangadex/chapter/+server.ts b/src/routes/api/mangadex/chapter/+server.ts deleted file mode 100644 index e4e98abd..00000000 --- a/src/routes/api/mangadex/chapter/+server.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { checkRateLimit } from '$lib/rateLimit'; - -export const GET = async (event) => { - const limit = await checkRateLimit(event); - const { url } = event; - - if (limit) return limit; - - try { - return Response.json( - await ( - await fetch( - `https://api.mangadex.org/chapter?manga=${url.searchParams.get( - 'id' - )}&chapter=${url.searchParams.get( - 'chapter' - )}&contentRating[]=safe&contentRating[]=suggestive&contentRating[]=erotica&contentRating[]=pornographic&limit=1` - ) - ).json(), - { - headers: { - 'Cache-Control': 'max-age=300' - } - } - ); - } catch { - return new Response('rate-limited'); - } -}; diff --git a/src/routes/api/mangadex/feed/+server.ts b/src/routes/api/mangadex/feed/+server.ts deleted file mode 100644 index 392cea0c..00000000 --- a/src/routes/api/mangadex/feed/+server.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { checkRateLimit } from '$lib/rateLimit'; - -export const GET = async (event) => { - const limit = await checkRateLimit(event); - - if (limit) return limit; - - try { - return Response.json( - await ( - await fetch( - `https://api.mangadex.org/manga/${event.url.searchParams.get( - 'id' - )}/feed?order[chapter]=desc&translatedLanguage[]=en&limit=1&contentRating[]=safe&contentRating[]=suggestive&contentRating[]=erotica&contentRating[]=pornographic` - ) - ).json(), - { - headers: { - 'Cache-Control': 'max-age=300' - } - } - ); - } catch { - return new Response('rate-limited'); - } -}; diff --git a/src/routes/api/mangadex/manga/+server.ts b/src/routes/api/mangadex/manga/+server.ts deleted file mode 100644 index 381e2a5a..00000000 --- a/src/routes/api/mangadex/manga/+server.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { checkRateLimit } from '$lib/rateLimit'; - -export const GET = async (event) => { - const limit = await checkRateLimit(event); - const { url } = event; - - if (limit) return limit; - - let status = ''; - let error = false; - - switch (url.searchParams.get('status')) { - case 'FINISHED': - { - status = 'completed'; - } - break; - case 'RELEASING': - { - status = 'ongoing'; - } - break; - case 'HIATUS': - { - status = 'hiatus'; - } - break; - case 'CANCELLED': - { - status = 'cancelled'; - } - break; - } - - const nullIfNullString = (s: string | null) => (s == 'null' ? null : s); - const get = async (title: string) => { - try { - return await ( - await fetch( - `https://api.mangadex.org/manga?title=${encodeURIComponent( - title - )}&year=${url.searchParams.get('year')}&status[]=${status}` - ) - ).json(); - } catch { - error = true; - } - }; - - let mangadexData = await get( - nullIfNullString(url.searchParams.get('native')) || - nullIfNullString(url.searchParams.get('english')) || - nullIfNullString(url.searchParams.get('romaji')) || - '' - ); - - if (error) return new Response('rate-limited'); - - if (mangadexData['data'] === undefined || mangadexData['data'].length === 0) { - mangadexData = await get(nullIfNullString(url.searchParams.get('english')) || ''); - - if (mangadexData['data'] === undefined || mangadexData['data'].length === 0) { - mangadexData = await get(nullIfNullString(url.searchParams.get('romaji')) || ''); - } - } - - return Response.json(mangadexData, { - headers: { - 'Cache-Control': 'max-age=300' - } - }); -}; diff --git a/src/routes/api/proxy/+server.ts b/src/routes/api/proxy/+server.ts deleted file mode 100644 index c4bf74a6..00000000 --- a/src/routes/api/proxy/+server.ts +++ /dev/null @@ -1,18 +0,0 @@ -export const GET = async ({ url }) => { - const response = await fetch(url.searchParams.get('url') as string); - const contentType = response.headers.get('content-type') as string; - - if (contentType.includes('application/json')) { - return Response.json(await response.json(), { - headers: { 'Content-Type': 'application/json' } - }); - } else if (contentType.includes('text/html') || contentType.includes('text/plain')) { - return new Response(await response.text(), { - headers: { 'Content-Type': contentType } - }); - } else { - return new Response(await response.blob(), { - headers: { 'Content-Type': contentType } - }); - } -}; |