import { getSessionUsername } from '~/server/utils/auth' import { autoArchiveOldSermons, getUserByUsername } from '~/server/utils/database' export default defineEventHandler(async (event) => { // Check authentication const username = await getSessionUsername(event) if (!username) { throw createError({ statusCode: 401, message: 'Unauthorized' }) } // Check admin role const user = getUserByUsername(username) if (!user || user.is_admin !== 1) { throw createError({ statusCode: 403, message: 'Forbidden - Admin access required' }) } try { const result = autoArchiveOldSermons() return { success: true, message: result.archivedCount > 0 ? `Successfully auto-archived ${result.archivedCount} sermon(s)` : 'No sermons needed to be archived', archivedCount: result.archivedCount } } catch (error: any) { throw createError({ statusCode: 500, message: error.message || 'Failed to auto-archive sermons' }) } })