From 8c7c9d289d2940679b6abf7e81f268d6af98715d Mon Sep 17 00:00:00 2001 From: Arthur DANJOU Date: Thu, 13 Nov 2025 14:04:15 +0100 Subject: [PATCH] =?UTF-8?q?refactor:=20remplacer=20les=20gestionnaires=20d?= =?UTF-8?q?'=C3=A9v=C3=A9nements=20par=20des=20gestionnaires=20d'=C3=A9v?= =?UTF-8?q?=C3=A9nements=20mis=20en=20cache=20pour=20les=20comp=C3=A9tence?= =?UTF-8?q?s=20et=20les=20usages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/api/skills.get.ts | 13 +++++++++++-- server/api/uses.get.ts | 18 +++++++++++++++--- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/server/api/skills.get.ts b/server/api/skills.get.ts index d6c744d..99b5805 100644 --- a/server/api/skills.get.ts +++ b/server/api/skills.get.ts @@ -1,3 +1,12 @@ -export default defineEventHandler(async (event) => { - return 'Hello Nitro' +import { queryCollection } from '@nuxt/content/server' + +export default defineCachedEventHandler(async (event) => { + return { + body: await queryCollection(event, 'skills') + .where('extension', '=', 'json') + .all() + } +}, { + name: 'skills-list', + maxAge: 3600 // 1 hour }) diff --git a/server/api/uses.get.ts b/server/api/uses.get.ts index cacdb94..505a4c4 100644 --- a/server/api/uses.get.ts +++ b/server/api/uses.get.ts @@ -1,10 +1,22 @@ import { queryCollection } from '@nuxt/content/server' export default defineCachedEventHandler(async (event) => { + const categories = await queryCollection(event, 'usesCategories').where('extension', '=', 'md').all() + + const uses = await queryCollection(event, 'uses') + .where('extension', '=', 'md') + .all() + + const uses_by_categories = [] + for (const category of categories) { + uses_by_categories.push({ + category: category, + uses: uses.filter(use => use.category === category.slug) + }) + } + return { - body: await queryCollection(event, 'uses') - .where('extension', '=', 'md') - .all() + body: uses_by_categories } }, { name: 'uses-list',