24 lines
616 B
JavaScript
24 lines
616 B
JavaScript
import { getPostBySlug } from '../../repositories/content-repository'
|
|
import { getMemberSession } from '../../utils/member-auth'
|
|
|
|
/**
|
|
* 공개 게시물 상세 API
|
|
* @param {import('h3').H3Event} event - 요청 이벤트
|
|
* @returns {Object} 게시물 상세
|
|
*/
|
|
export default defineEventHandler(async (event) => {
|
|
const slug = getRouterParam(event, 'slug')
|
|
const post = await getPostBySlug(slug, {
|
|
includeMembers: Boolean(getMemberSession(event))
|
|
})
|
|
|
|
if (!post) {
|
|
throw createError({
|
|
statusCode: 404,
|
|
statusMessage: '게시물을 찾을 수 없습니다'
|
|
})
|
|
}
|
|
|
|
return post
|
|
})
|