36 lines
800 B
TypeScript
36 lines
800 B
TypeScript
import { getSermonBySlug, getUserByUsername } from '~/server/utils/database'
|
|
|
|
export default defineEventHandler(async (event) => {
|
|
const slug = getRouterParam(event, 'slug')
|
|
|
|
if (!slug) {
|
|
throw createError({
|
|
statusCode: 400,
|
|
message: 'Slug is required'
|
|
})
|
|
}
|
|
|
|
const sermon = getSermonBySlug(slug)
|
|
|
|
if (!sermon) {
|
|
throw createError({
|
|
statusCode: 404,
|
|
message: 'Sermon not found'
|
|
})
|
|
}
|
|
|
|
// If sermon has a creator, get their name
|
|
let creatorName = null
|
|
if (sermon.created_by) {
|
|
const creator = getUserByUsername(sermon.created_by)
|
|
if (creator && creator.first_name && creator.last_name) {
|
|
creatorName = `${creator.first_name} ${creator.last_name}`
|
|
}
|
|
}
|
|
|
|
return {
|
|
...sermon,
|
|
creator_name: creatorName
|
|
}
|
|
})
|