Remplacer defineEventHandler par defineCachedEventHandler pour améliorer la mise en cache des réponses API

This commit is contained in:
2025-12-01 16:49:57 +01:00
parent 6f7cbf388a
commit f5ed4b109b
12 changed files with 50 additions and 12 deletions

View File

@@ -1,7 +1,10 @@
export default defineEventHandler(async (event) => {
export default defineCachedEventHandler(async (event) => {
const result = await queryCollection(event, 'contact')
.where('extension', '=', 'json')
.first()
return result.body
}, {
maxAge: 60 * 60 * 24,
name: 'contact'
})

View File

@@ -1,4 +1,4 @@
export default defineEventHandler(async (event) => {
export default defineCachedEventHandler(async (event) => {
const result = await queryCollection(event, 'education')
.where('extension', '=', 'md')
.all()
@@ -12,4 +12,7 @@ export default defineEventHandler(async (event) => {
endDate: edu.meta.endDate,
location: edu.meta.location
}))
}, {
maxAge: 60 * 60 * 24,
name: 'education'
})

View File

@@ -1,4 +1,4 @@
export default defineEventHandler(async (event) => {
export default defineCachedEventHandler(async (event) => {
const result = await queryCollection(event, 'experiences')
.where('extension', '=', 'md')
.all()
@@ -14,4 +14,8 @@ export default defineEventHandler(async (event) => {
location: exp.meta.location,
description: exp.meta.description
}))
},
{
maxAge: 60 * 60 * 24,
name: 'experiences'
})

View File

@@ -1,7 +1,10 @@
export default defineEventHandler(async (event) => {
export default defineCachedEventHandler(async (event) => {
const result = await queryCollection(event, 'hobbies')
.where('extension', '=', 'md')
.first()
return result.body
}, {
maxAge: 60 * 60 * 24,
name: 'hobbies'
})

View File

@@ -1,7 +1,10 @@
export default defineEventHandler(async (event) => {
export default defineCachedEventHandler(async (event) => {
const result = await queryCollection(event, 'languages')
.where('extension', '=', 'json')
.first()
return result.body
}, {
maxAge: 60 * 60 * 24,
name: 'languages'
})

View File

@@ -1,7 +1,10 @@
export default defineEventHandler(async (event) => {
export default defineCachedEventHandler(async (event) => {
const result = await queryCollection(event, 'profile')
.where('extension', '=', 'md')
.first()
return result
}, {
maxAge: 60 * 60 * 24,
name: 'profile'
})

View File

@@ -1,7 +1,10 @@
export default defineEventHandler(async (event) => {
export default defineCachedEventHandler(async (event) => {
const result = await queryCollection(event, 'projects')
.where('extension', '=', 'md')
.all()
return result
}, {
maxAge: 60 * 60 * 24,
name: 'projects'
})

View File

@@ -1,3 +1,6 @@
export default defineEventHandler(async (event) => {
export default defineCachedEventHandler(async (event) => {
return sendRedirect(event, '/resumes/CV 2026 EN.pdf', 302)
}, {
maxAge: 60 * 60 * 24,
name: 'resume_en'
})

View File

@@ -1,3 +1,6 @@
export default defineEventHandler(async (event) => {
export default defineCachedEventHandler(async (event) => {
return sendRedirect(event, '/resumes/CV 2026 FR.pdf', 302)
}, {
maxAge: 60 * 60 * 24,
name: 'resume_fr'
})

View File

@@ -1,7 +1,10 @@
export default defineEventHandler(async (event) => {
export default defineCachedEventHandler(async (event) => {
const result = await queryCollection(event, 'skills')
.where('extension', '=', 'json')
.first()
return result.body
}, {
maxAge: 60 * 60 * 24,
name: 'skills'
})

View File

@@ -1,4 +1,7 @@
export default defineEventHandler(async (event) => {
export default defineCachedEventHandler(async (event) => {
const { statusPage } = useRuntimeConfig(event)
return await $fetch(statusPage)
}, {
maxAge: 60 * 60,
name: 'status-page'
})

View File

@@ -1,4 +1,4 @@
export default defineEventHandler(async (event) => {
export default defineCachedEventHandler(async (event) => {
const categories = await queryCollection(event, 'usesCategories')
.where('extension', '=', 'md')
.all()
@@ -16,4 +16,8 @@ export default defineEventHandler(async (event) => {
}
return uses_by_categories
},
{
maxAge: 60 * 60 * 24,
name: 'uses'
})