aboutsummaryrefslogtreecommitdiff
path: root/src/routes/mangadex/manga/+server.ts
blob: dd07683b4cba7ed188c22be27c1ffec74cdfe7c9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
export const GET = async ({ url }) => {
	const nullIfNullString = (s) => (s === 'null' ? null : s);

	let mangadexData = await (
		await fetch(
			`https://api.mangadex.org/manga?title=${encodeURIComponent(
				nullIfNullString(url.searchParams.get('english')) ||
					nullIfNullString(url.searchParams.get('romaji')) ||
					nullIfNullString(url.searchParams.get('native')) ||
					''
			)}&year=${url.searchParams.get('year')}`
		)
	).json();

	if (mangadexData['data'] === undefined || mangadexData['data'].length === 0) {
		mangadexData = await (
			await fetch(
				`https://api.mangadex.org/manga?title=${encodeURIComponent(
					nullIfNullString(url.searchParams.get('native')) || ''
				)}&year=${url.searchParams.get('year')}`
			)
		).json();
	}

	return Response.json(mangadexData);
};