Files
lnreader/src/services/api.js
T
2021-03-23 07:59:08 +05:30

77 lines
1.8 KiB
JavaScript

/**
* Fetch novel information from source
*/
export const fetchNovelFromSource = async (extensionId, novelUrl) => {
const url = `https://lnreader-extensions.herokuapp.com/api/${extensionId}/novel/${novelUrl}`;
let data = await fetch(url);
let res = await data.json();
const novel = {
novelUrl: res.novelUrl,
novelName: res.novelName,
novelCover: res.novelCover,
novelSummary: res.novelSummary,
"Author(s)": res["Author(s)"],
"Genre(s)": res["Genre(s)"],
Status: res.Status,
sourceUrl: res.sourceUrl,
source: res.sourceName,
unread: 1,
libraryStatus: 0,
lastRead: res.novelChapters[0].chapterUrl,
lastReadName: res.novelChapters[0].chapterName,
extensionId: res.extensionId,
novelChapters: res.novelChapters,
};
return novel;
};
/**
* Fetch novel chapters froms source
*/
export const fetchChaptersFromSource = async (extensionId, novelUrl) => {
const url = `https://lnreader-extensions.herokuapp.com/api/${extensionId}/novel/${novelUrl}`;
const data = await fetch(url);
let res = await data.json();
const chapters = res.novelChapters;
return chapters;
};
/**
* Fetch chapter from source
*/
export const fetchChapterFromSource = async (
extensionId,
novelUrl,
chapterUrl
) => {
const url = `https://lnreader-extensions.herokuapp.com/api/${extensionId}/novel/${novelUrl}${chapterUrl}`;
let res = await fetch(url);
let chapter = await res.json();
return chapter;
};
/**
* Fetch list of extensions
*/
export const fetchExtensionList = async () => {
const url = `https://lnreader-extensions.herokuapp.com/api/`;
let res = await fetch(url);
let extensions = await res.json();
return extensions;
};