41 lines
814 B
JavaScript
41 lines
814 B
JavaScript
import { RenderErrorPage } from 'vite-plugin-ssr/RenderErrorPage';
|
|
import { fetchShelf } from '../../src/shelves';
|
|
import { fetchPost } from '../../src/posts';
|
|
import { fetchPostComments } from '../../src/comments';
|
|
|
|
async function getPageData(pageContext) {
|
|
const [shelf, post, comments] = await Promise.all([
|
|
fetchShelf(pageContext.routeParams.id),
|
|
fetchPost(pageContext.routeParams.postId),
|
|
fetchPostComments(pageContext.routeParams.postId),
|
|
]);
|
|
|
|
if (!shelf) {
|
|
throw RenderErrorPage({
|
|
pageContext: {
|
|
pageProps: {
|
|
errorInfo: 'This shelf does not exist',
|
|
},
|
|
},
|
|
});
|
|
}
|
|
|
|
if (!post) {
|
|
throw RenderErrorPage({
|
|
pageContext: {
|
|
pageProps: {
|
|
errorInfo: 'This post does not exist',
|
|
},
|
|
},
|
|
});
|
|
}
|
|
|
|
return {
|
|
shelf,
|
|
post,
|
|
comments,
|
|
};
|
|
}
|
|
|
|
export { getPageData };
|