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',