From 54ecc99c7ea310ce9dc269dfdc5db831bd76aa00 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Wed, 13 Sep 2023 01:47:57 -0700 Subject: refactor(mangadex): move to api --- src/lib/mangadex.ts | 4 ++-- src/routes/api/mangadex/feed/+server.ts | 11 +++++++++++ src/routes/api/mangadex/manga/+server.ts | 29 +++++++++++++++++++++++++++++ src/routes/mangadex/feed/+server.ts | 11 ----------- src/routes/mangadex/manga/+server.ts | 29 ----------------------------- 5 files changed, 42 insertions(+), 42 deletions(-) create mode 100644 src/routes/api/mangadex/feed/+server.ts create mode 100644 src/routes/api/mangadex/manga/+server.ts delete mode 100644 src/routes/mangadex/feed/+server.ts delete mode 100644 src/routes/mangadex/manga/+server.ts (limited to 'src') diff --git a/src/lib/mangadex.ts b/src/lib/mangadex.ts index f6b6b407..b7656b43 100644 --- a/src/lib/mangadex.ts +++ b/src/lib/mangadex.ts @@ -10,7 +10,7 @@ export const chapterCount = async (manga: Media): Promise => { const mangadexData = await ( await fetch( - `/mangadex/manga?english=${manga.title.english}&year=${manga.startDate.year}&romaji=${manga.title.romaji}&native=${manga.title.native}` + `/api/mangadex/manga?english=${manga.title.english}&year=${manga.startDate.year}&romaji=${manga.title.romaji}&native=${manga.title.native}` ) ).json(); @@ -24,7 +24,7 @@ export const chapterCount = async (manga: Media): Promise => { } const lastChapterData = await ( - await fetch(`/mangadex/feed?id=${mangadexData['data'][0]['id']}`) + await fetch(`/api/mangadex/feed?id=${mangadexData['data'][0]['id']}`) ).json(); if (lastChapterData['data'] === undefined || lastChapterData['data'].length === 0) { diff --git a/src/routes/api/mangadex/feed/+server.ts b/src/routes/api/mangadex/feed/+server.ts new file mode 100644 index 00000000..862ef5e4 --- /dev/null +++ b/src/routes/api/mangadex/feed/+server.ts @@ -0,0 +1,11 @@ +export const GET = async ({ url }) => { + return Response.json( + await ( + await fetch( + `https://api.mangadex.org/manga/${url.searchParams.get( + 'id' + )}/feed?order[chapter]=desc&translatedLanguage[]=en&limit=1&contentRating[]=safe&contentRating[]=suggestive&contentRating[]=erotica&contentRating[]=pornographic` + ) + ).json() + ); +}; diff --git a/src/routes/api/mangadex/manga/+server.ts b/src/routes/api/mangadex/manga/+server.ts new file mode 100644 index 00000000..5bfa1882 --- /dev/null +++ b/src/routes/api/mangadex/manga/+server.ts @@ -0,0 +1,29 @@ +export const GET = async ({ url }) => { + const nullIfNullString = (s: string | null) => (s == 'null' ? null : s); + const get = async (title: string) => { + return await ( + await fetch( + `https://api.mangadex.org/manga?title=${encodeURIComponent( + title + )}&year=${url.searchParams.get('year')}` + ) + ).json(); + }; + + let mangadexData = await get( + nullIfNullString(url.searchParams.get('native')) || + nullIfNullString(url.searchParams.get('english')) || + nullIfNullString(url.searchParams.get('romaji')) || + '' + ); + + 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); +}; diff --git a/src/routes/mangadex/feed/+server.ts b/src/routes/mangadex/feed/+server.ts deleted file mode 100644 index 862ef5e4..00000000 --- a/src/routes/mangadex/feed/+server.ts +++ /dev/null @@ -1,11 +0,0 @@ -export const GET = async ({ url }) => { - return Response.json( - await ( - await fetch( - `https://api.mangadex.org/manga/${url.searchParams.get( - 'id' - )}/feed?order[chapter]=desc&translatedLanguage[]=en&limit=1&contentRating[]=safe&contentRating[]=suggestive&contentRating[]=erotica&contentRating[]=pornographic` - ) - ).json() - ); -}; diff --git a/src/routes/mangadex/manga/+server.ts b/src/routes/mangadex/manga/+server.ts deleted file mode 100644 index 5bfa1882..00000000 --- a/src/routes/mangadex/manga/+server.ts +++ /dev/null @@ -1,29 +0,0 @@ -export const GET = async ({ url }) => { - const nullIfNullString = (s: string | null) => (s == 'null' ? null : s); - const get = async (title: string) => { - return await ( - await fetch( - `https://api.mangadex.org/manga?title=${encodeURIComponent( - title - )}&year=${url.searchParams.get('year')}` - ) - ).json(); - }; - - let mangadexData = await get( - nullIfNullString(url.searchParams.get('native')) || - nullIfNullString(url.searchParams.get('english')) || - nullIfNullString(url.searchParams.get('romaji')) || - '' - ); - - 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); -}; -- cgit v1.2.3