29 lines
654 B
TypeScript
29 lines
654 B
TypeScript
import { getDatabase } from '~/server/utils/database'
|
|
|
|
export default defineEventHandler(async (event) => {
|
|
const db = await getDatabase()
|
|
const slug = getRouterParam(event, 'slug')
|
|
|
|
if (!slug) {
|
|
throw createError({
|
|
statusCode: 400,
|
|
statusMessage: 'Sermon slug is required'
|
|
})
|
|
}
|
|
|
|
const sermon = db.prepare('SELECT * FROM sermons WHERE slug = ?').get(slug) as any
|
|
|
|
if (!sermon) {
|
|
throw createError({
|
|
statusCode: 404,
|
|
statusMessage: 'Sermon not found'
|
|
})
|
|
}
|
|
|
|
// Parse JSON fields
|
|
return {
|
|
...sermon,
|
|
bibleReferences: sermon.bible_references ? JSON.parse(sermon.bible_references) : []
|
|
}
|
|
})
|