blob: bf7bb712693281222dd738a610a851f392d0e0b9 (
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
import axios, { AxiosResponse } from "axios";
interface Manga {
id: string;
title: {
romaji: string;
english: string;
native: string;
};
}
interface SearchResult {
results: Manga[];
}
export async function fetchInfo(
romaji: string,
english: string,
native: string
): Promise<{ id: string } | null> {
try {
const { data: getManga }: AxiosResponse<SearchResult> = await axios.get(
`https://api.anify.tv/search-advanced?query=${
english || romaji
}&type=manga`
);
const findManga = getManga?.results?.find(
(manga) =>
manga.title.romaji === romaji ||
manga.title.english === english ||
manga.title.native === native
);
if (!findManga) {
return null;
}
return { id: findManga.id };
} catch (error) {
console.error("Error fetching data:", error);
return null;
}
}
export default async function getMangaId(
romaji: string,
english: string,
native: string
): Promise<{ id: string } | { message: string } | { error: any }> {
try {
const data = await fetchInfo(romaji, english, native);
if (data && "id" in data) {
return data;
} else {
return { message: "Schedule not found" };
}
} catch (error) {
return { error };
}
}
|