datasource db { provider = "postgresql" url = env("DATABASE_URL") } generator client { provider = "prisma-client-js" } enum UserRole { ADMIN AGENT CUSTOMER } enum ProductStatus { ACTIVE DEPRECATED INACTIVE } model User { id String @id @default(uuid()) email String @unique name String role UserRole @default(CUSTOMER) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt auditLogs AuditLog[] @@map("users") } model Product { id String @id @default(uuid()) code String @unique name String description String? status ProductStatus @default(ACTIVE) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt categories Category[] @@map("products") } model Category { id String @id @default(uuid()) productId String name String description String? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt product Product @relation(fields: [productId], references: [id], onDelete: Cascade) @@map("categories") } model AuditLog { id String @id @default(uuid()) userId String? action String resource String payload Json? createdAt DateTime @default(now()) user User? @relation(fields: [userId], references: [id], onDelete: SetNull) @@map("audit_logs") }