ក្រោយ​ពី​មាន​​តំណរភ្ជាប់​ទៅ​កាន់​មូលដ្ឋាន​ទិន្នន័យ​ MongoDB រួច​ហើយ យើង​ត្រូវ​ប្រើប្រាស់​តំណរភ្ជាប់​នេះ​តាម​រយៈអថេរ prisma ដោយ​ធ្វើ​ដូច​ខាង​ក្រោម​​នេះ៖

 

import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()

 

យើង​បាន​ដឹង​រួច​មក​ហើយ​ថា ក្បួន​កណ្តាល​ឬ middleware ត្រូវ​យក​ទៅ​ប្រើ​​ជា​ស្វ័យប្រវត្តិ​នៅ​គ្រប់​ការចូល​ទៅ​តាម​​ផ្លូវ​ទាំងឡាយ ហើយ​យើង​អាច​បង្កើត​នូវ​ទិន្នន័យ​ផ្សេង​ៗ​រក្សាទុក​នៅ​ក្នុង​សំណុំ​ទិន្នន័យ locals សំរាប់​ប្រើប្រាស់​ទាក់ទង​នឹង​ផ្លូវ​ទាំងនោះ​។ អាស្រ័យ​ហេតុ​នេះ យើង​ក៏​អាច​រក្សា​ទុក​នូវ​អថេរ​នៃ​តំណរភ្ជាប់ prisma នៅ​ក្នុង​សំណុំ​ទិន្នន័យ locals នេះ​បាន​ដែរ ក្នុង​​គោលបំណង​អាច​ប្រើប្រាស់​តំណរភ្ជាប់​នេះ​​នៅ​ក្នុង​ឯកសារ​ទាក់ទង​នឹង​ផ្លូវ​ទាំងឡាយ​។

 

// src/middleware.js

import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()
 
export function onRequest ({ locals, request }, next) {
    locals.prisma = prisma
    locals.info = 'ព័ត៌មាន​ស្តី​ពី prisma'
    return next()
}

 

យើង​ត្រូវ​រំលឹក​ឡើង​វិញ​ថា​ក្រៅ​ពី​ឯកសារប្រភេទ .astro ឯកសារ​ប្រភេទ JavaScript ឬ .js ក៏​អាច​ត្រូវ​ប្រើប្រាស់​សំរាប់​ផ្លូវ​ណា​មួយ​បាន​ដែរ ហើយ​ក្នុង​ករណី​នេះ ក្បួន​ខ្នាត​នៅ​ក្នុង​ឯកសារ .js ត្រូវ​ហៅ​ថា ក្បួន​​ចុង​ផ្លូវ ឬ API Endpoint ។ ដូចនេះ ការស្រង់​យក​តំណរភ្ជាប់ prisma នៅ​ក្នុង​​ក្បួន​ចុង​ផ្លូវអាច​​ត្រូវ​ធ្វើ​​ឡើង​ដូច​ខាង​ក្រោម​នេះ​៖

 

 // src/pages/api/login.js

export async function GET({params, request, locals}){
  const prisma = locals.prisma
  const info = locals.info
  return new Response(
    JSON.stringify({
      prisma: info
    })
  )
}

 

Netlify: https://khmerweb-dynamic-blog.netlify.app

GitHub: https://github.com/Sokhavuth/dynamic-blog