mirror of
https://github.com/ArthurDanjou/artapi.git
synced 2026-01-14 21:09:25 +01:00
Add API endpoints for content and update MCP resources to use them
Co-authored-by: ArthurDanjou <29738535+ArthurDanjou@users.noreply.github.com>
This commit is contained in:
7
server/api/contact.get.ts
Normal file
7
server/api/contact.get.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
export default defineEventHandler(async (event) => {
|
||||
const result = await queryCollection(event, 'contact')
|
||||
.where('extension', '=', 'json')
|
||||
.first()
|
||||
|
||||
return result.body
|
||||
})
|
||||
15
server/api/education.get.ts
Normal file
15
server/api/education.get.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
export default defineEventHandler(async (event) => {
|
||||
const result = await queryCollection(event, 'education')
|
||||
.where('extension', '=', 'md')
|
||||
.all()
|
||||
|
||||
return result
|
||||
.sort((a, b) => new Date(b.startDate).getTime() - new Date(a.startDate).getTime())
|
||||
.map(edu => ({
|
||||
degree: edu.degree,
|
||||
institution: edu.institution,
|
||||
startDate: edu.startDate,
|
||||
endDate: edu.endDate,
|
||||
location: edu.location
|
||||
}))
|
||||
})
|
||||
17
server/api/experiences.get.ts
Normal file
17
server/api/experiences.get.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
export default defineEventHandler(async (event) => {
|
||||
const result = await queryCollection(event, 'experiences')
|
||||
.where('extension', '=', 'md')
|
||||
.all()
|
||||
|
||||
return result
|
||||
.sort((a, b) => new Date(b.startDate).getTime() - new Date(a.startDate).getTime())
|
||||
.map(exp => ({
|
||||
title: exp.title,
|
||||
company: exp.company,
|
||||
companyUrl: exp.companyUrl,
|
||||
startDate: exp.startDate,
|
||||
endDate: exp.endDate,
|
||||
location: exp.location,
|
||||
description: exp.description
|
||||
}))
|
||||
})
|
||||
7
server/api/hobbies.get.ts
Normal file
7
server/api/hobbies.get.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
export default defineEventHandler(async (event) => {
|
||||
const result = await queryCollection(event, 'hobbies')
|
||||
.where('extension', '=', 'md')
|
||||
.first()
|
||||
|
||||
return result.body
|
||||
})
|
||||
7
server/api/languages.get.ts
Normal file
7
server/api/languages.get.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
export default defineEventHandler(async (event) => {
|
||||
const result = await queryCollection(event, 'languages')
|
||||
.where('extension', '=', 'json')
|
||||
.first()
|
||||
|
||||
return result.body
|
||||
})
|
||||
7
server/api/profile.get.ts
Normal file
7
server/api/profile.get.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
export default defineEventHandler(async (event) => {
|
||||
const result = await queryCollection(event, 'profile')
|
||||
.where('extension', '=', 'md')
|
||||
.first()
|
||||
|
||||
return result
|
||||
})
|
||||
7
server/api/projects.get.ts
Normal file
7
server/api/projects.get.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
export default defineEventHandler(async (event) => {
|
||||
const result = await queryCollection(event, 'projects')
|
||||
.where('extension', '=', 'md')
|
||||
.all()
|
||||
|
||||
return result
|
||||
})
|
||||
7
server/api/skills.get.ts
Normal file
7
server/api/skills.get.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
export default defineEventHandler(async (event) => {
|
||||
const result = await queryCollection(event, 'skills')
|
||||
.where('extension', '=', 'json')
|
||||
.first()
|
||||
|
||||
return result.body
|
||||
})
|
||||
19
server/api/uses.get.ts
Normal file
19
server/api/uses.get.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
export default defineEventHandler(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: { category: unknown }) => use.category === category.slug)
|
||||
})
|
||||
}
|
||||
|
||||
return uses_by_categories
|
||||
})
|
||||
Reference in New Issue
Block a user