09. Prisma Client
Generate typescript types
prisma ได้เตรียม client มาให้เราเรียบร้อยแล้ว ซึ่ง client นี้ supported typescript ด้วย
แต่ว่าเราต้อง Generate มันออกมาก่อน ด้วย script ที่เราใส่ไว้แล้วใน package.json
pnpm prisma:generate
หรือถ้าจะเอาคำสั่งของ prisma เลยก็ตามนี้
pnpm prisma generate
คำสั่งด้านบนจะไป generate typescript type ให้เรา โดยจะเอาไปเก็บไว้ที่ folder
node_modules/.pnpm/@[email protected][email protected]/node_modules/.prisma/client/index.d.ts
สร้าง prisma client กัน
ตาม Layered architecture ที่เราได้วางไว้ prisma client จะแทน repository ได้เลย
┌─────────────────┐│ Presentation │ (Controllers/Routes)├─────────────────┤│ Business │ (Services)├─────────────────┤│ Data │ (Repositories) <- Prisma Client└─────────────────┘
repositories/prisma.ts
import { PrismaClient } from "@prisma/client"
const prismaClient = new PrismaClient()
export default prismaClient
src├── configure/├── controllers/├── index.ts├── repositories│ └── prisma.ts├── schema/8 collapsed lines
│ ├── branded.ts│ ├── employee.ts│ ├── employeeWithRelations.ts│ ├── general.ts│ ├── helpers.ts│ ├── index.ts│ ├── overtime.ts│ └── overtimeWithRelations.ts├── services/└── types