import { queryCollection } from '@nuxt/content/server'

export default defineCachedEventHandler(async (event) => {
  const result = await queryCollection(event, 'education')
    .where('extension', '=', 'md')
    .all()

  if (result.length === 0) {
    throw createError({ statusCode: 404, statusMessage: 'Education records not found' })
  }

  return result
    .sort((a, b) => new Date(b.meta.startDate as string).getTime() - new Date(a.meta.startDate as string).getTime())
    .map(edu => ({
      degree: edu.meta.degree,
      institution: edu.meta.institution,
      startDate: edu.meta.startDate,
      endDate: edu.meta.endDate,
      location: edu.meta.location
    }))
}, {
  maxAge: 60 * 60 * 24,
  name: 'education'
})
