Import drizzle replacing prisma

Signed-off-by: Arthur DANJOU <arthurdanjou@outlook.fr>
This commit is contained in:
2024-04-20 00:03:10 +02:00
parent a7f0a635ec
commit c6ba8c791b
108 changed files with 2367 additions and 1554 deletions

39
composables/useContent.ts Normal file
View File

@@ -0,0 +1,39 @@
import type { Education, Post, Project, Skill, WorkExperience } from '~~/types'
export function getProjects() {
return useAsyncData('content:projects', () => {
return queryContent<Project>('projects').find()
})
}
export function getEducations() {
return useAsyncData('content:educations', () => {
return queryContent<Education>('educations')
.sort({
endDate: -1,
})
.find()
})
}
export function getWorkExperiences() {
return useAsyncData('content:experiences', async () => {
const experiences = await queryContent<WorkExperience>('experiences').find()
return experiences.sort((a, b) => {
return new Date(b.startDate).getTime() - new Date(a.startDate).getTime()
})
})
}
export function getSkills() {
return useAsyncData('content:skills', () => queryContent<Skill[]>('skills').findOne())
}
export function getPosts() {
return useAsyncData('content:posts', async () => {
const posts = await queryContent<Post>('writing').find()
return posts.sort((a, b) => {
return new Date(b.publishedAt).getTime() - new Date(a.publishedAt).getTime()
})
})
}