diff --git a/src/services/searchWellItem.js b/src/services/searchWellItem.js index b0b1c64..731e11d 100644 --- a/src/services/searchWellItem.js +++ b/src/services/searchWellItem.js @@ -12,7 +12,7 @@ import { SearchMemo, SearchReview, } from '@frolog/frolog-api'; -import { Well, WellItem } from '@frolog/models'; +import { Well, WellItem, Book, Category } from '@frolog/models'; const getBook = new GetBook({ accessToken: SSC_TOKEN }); const searchMemo = new SearchMemo({ accessToken: SSC_TOKEN }); const searchReview = new SearchReview({ accessToken: SSC_TOKEN }); @@ -75,9 +75,23 @@ export default async function searchWellItem(reqDto, user) { const itemHashId = encodeHashId(itemId); const isbn = wellItem.book_isbn; + let title = ''; + let page = 0; + let category = 'unknown'; const book = await getBook.fetch({ isbn }).catch(handleError); - if (!book) throw new FetchError(); - const { title, page, category } = book; + if (book) { + title = book.title ?? ''; + page = book.page ?? 0; + category = book.category ?? 'unknown'; + } else { + const bookData = await Book.findOne({ + where: { isbn }, + include: [{ model: Category }], + }); + title = bookData?.title ?? ''; + page = bookData?.page ?? 0; + category = bookData?.Category?.category_key ?? 'unknown'; + } const reviews = await searchReview .fetch({