mirror of
https://github.com/ArthurDanjou/website.git
synced 2026-01-25 01:10:36 +01:00
add cache to prisma
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
export default defineEventHandler(async () => {
|
||||
return await usePrisma().announcement.findFirst({
|
||||
orderBy: {
|
||||
ororderBy: {
|
||||
createdAt: 'desc',
|
||||
},
|
||||
})
|
||||
|
||||
@@ -5,6 +5,9 @@ const PostSchema = z.object({ slug: z.string() }).parse
|
||||
export default defineEventHandler(async (event) => {
|
||||
const { slug } = await readValidatedBody(event, PostSchema)
|
||||
return await usePrisma().post.upsert({
|
||||
cacheStrategy: {
|
||||
swr: 60 * 5,
|
||||
},
|
||||
where: {
|
||||
slug,
|
||||
},
|
||||
|
||||
@@ -26,6 +26,9 @@ export default defineEventHandler(async (event) => {
|
||||
}
|
||||
|
||||
return await prisma.bookmark.findMany({
|
||||
cacheStrategy: {
|
||||
ttl: 60 * 3,
|
||||
},
|
||||
where: whereClause,
|
||||
orderBy: {
|
||||
name: 'asc',
|
||||
|
||||
@@ -3,6 +3,9 @@ import type { CategoryType } from '@prisma/client'
|
||||
export default defineEventHandler(async (event) => {
|
||||
const { type } = getQuery<{ type: CategoryType }>(event)
|
||||
return await usePrisma().category.findMany({
|
||||
cacheStrategy: {
|
||||
ttl: 60 * 3,
|
||||
},
|
||||
where: {
|
||||
type,
|
||||
},
|
||||
|
||||
@@ -3,6 +3,9 @@ export default defineEventHandler(async () => {
|
||||
orderBy: {
|
||||
createdAt: 'desc',
|
||||
},
|
||||
cacheStrategy: {
|
||||
ttl: 60 * 60 * 24,
|
||||
},
|
||||
})
|
||||
let enabled = true
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
export default defineEventHandler(async () => {
|
||||
return await usePrisma().guestbookMessage.findMany({
|
||||
cacheStrategy: {
|
||||
ttl: 60 * 60,
|
||||
swr: 60 * 5,
|
||||
},
|
||||
orderBy: {
|
||||
updatedAt: 'desc',
|
||||
},
|
||||
|
||||
@@ -26,6 +26,9 @@ export default defineEventHandler(async (event) => {
|
||||
}
|
||||
|
||||
return await prisma.talent.findMany({
|
||||
cacheStrategy: {
|
||||
ttl: 60 * 3,
|
||||
},
|
||||
where: whereClause,
|
||||
orderBy: {
|
||||
name: 'asc',
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
import { PrismaClient } from '@prisma/client'
|
||||
import { PrismaClient } from '@prisma/client/edge'
|
||||
import { PrismaClientExtends } from '@prisma/client/scripts/default-index'
|
||||
import { withAccelerate } from '@prisma/extension-accelerate'
|
||||
|
||||
let prisma: PrismaClient | undefined
|
||||
let prisma: any
|
||||
|
||||
export function usePrisma() {
|
||||
if (!prisma) {
|
||||
prisma = new PrismaClient({
|
||||
log: ['warn', 'info', 'error'],
|
||||
})
|
||||
}).$extends(withAccelerate())
|
||||
}
|
||||
|
||||
return prisma
|
||||
|
||||
Reference in New Issue
Block a user