Files
nlcc-itinerary/server/api/sermons/index.get.ts

40 lines
1.1 KiB
TypeScript

import { getDatabase } from '~/server/utils/database'
import { verifyJWT } from '~/server/utils/auth'
export default defineEventHandler(async (event) => {
const db = await getDatabase()
// Check for time filter
const query = getQuery(event)
const timeFilter = query.time as string || '3months'
let dateFilter = ''
const now = new Date()
switch (timeFilter) {
case '3months':
const threeMonthsAgo = new Date(now.getFullYear(), now.getMonth() - 3, now.getDate())
dateFilter = threeMonthsAgo.toISOString()
break
case '6months':
const sixMonthsAgo = new Date(now.getFullYear(), now.getMonth() - 6, now.getDate())
dateFilter = sixMonthsAgo.toISOString()
break
case '1year':
const oneYearAgo = new Date(now.getFullYear() - 1, now.getMonth(), now.getDate())
dateFilter = oneYearAgo.toISOString()
break
case 'all':
dateFilter = '1970-01-01'
break
}
const sermons = db.prepare(`
SELECT * FROM sermons
WHERE date >= ?
ORDER BY date DESC
`).all(dateFilter) as any[]
return sermons
})