The mystery of the glossary addition. I really gotta figure out why it refuses to populate glossary and cover with chapters at the same time.
This commit is contained in:
parent
554a6dff45
commit
97e318ce6f
@ -1,5 +1,5 @@
|
||||
import { addDays, subDays } from "date-fns";
|
||||
import { Book, Chapter, Editor, Announcement } from "./types";
|
||||
import { Book, Chapter, Editor, Announcement, Glossary } from "./types";
|
||||
|
||||
const API_URL = process.env.NEXT_PUBLIC_API_URL as string;
|
||||
const API_TOKEN = process.env.STRAPI_API_TOKEN as string;
|
||||
@ -81,9 +81,13 @@ export async function fetchBookChapterLinks(bookId: string): Promise<Book> {
|
||||
*/
|
||||
export async function fetchBookById(bookId: string): Promise<Book> {
|
||||
const currentDateTime = new Date().toISOString();
|
||||
//[chapters][filters][release_datetime][$lte]=${currentDateTime}
|
||||
const data = await fetchFromAPI<Book>(
|
||||
`/api/books/${bookId}?populate[chapters][filters][release_datetime][$lte]=${currentDateTime}&populate=cover`
|
||||
);
|
||||
//I do not know why the hell it refuse to populate glossary only 1 field is allow to be populated after ????????
|
||||
const glossary = await fetchGlossaryByBookId(bookId);
|
||||
data[0].glossary = glossary;
|
||||
data[0].chapters = data[0].chapters.sort((a, b) => a.number - b.number);
|
||||
return data[0];
|
||||
}
|
||||
@ -93,10 +97,8 @@ export async function fetchBookById(bookId: string): Promise<Book> {
|
||||
*/
|
||||
export async function fetchChapterByBookId(bookId: string, chapterId: string): Promise<Chapter[]> {
|
||||
const currentChapter = await fetchFromAPI<Chapter>(`/api/chapters/${chapterId}?populate[book][fields][0]=title&filters[book][documentId]=${bookId}`);
|
||||
const bookWithAllChapters = await fetchFromAPI<Book>( `/api/books/${bookId}?populate[chapters][filters][number][$gte]=${
|
||||
currentChapter[0].number - 1
|
||||
}&populate[chapters][filters][number][$lte]=${
|
||||
currentChapter[0].number + 1
|
||||
const bookWithAllChapters = await fetchFromAPI<Book>(`/api/books/${bookId}?populate[chapters][filters][number][$gte]=${currentChapter[0].number - 1
|
||||
}&populate[chapters][filters][number][$lte]=${currentChapter[0].number + 1
|
||||
}`);
|
||||
//const nextChapter = await fetchFromAPI<Chapter>(`/api/chapters?populate[book]&filters[book][id]=${bookId}&sort[number]=asc`);
|
||||
return bookWithAllChapters[0].chapters;
|
||||
@ -127,3 +129,8 @@ export async function fetchAnnouncementById(announcementId: string): Promise<Ann
|
||||
const data = await fetchFromAPI<Announcement>(`/api/announcements/${announcementId}?`);
|
||||
return data[0];
|
||||
}
|
||||
|
||||
export async function fetchGlossaryByBookId(bookId: string): Promise<Glossary> {
|
||||
const data = await fetchFromAPI<Glossary>(`/api/glossaries?filters[book][documentId]=${bookId}`);
|
||||
return data[0];
|
||||
}
|
Loading…
Reference in New Issue
Block a user