datasource db { provider = "postgresql" url = env("DATABASE_URL") } model User { id Int @id @default(autoincrement()) npub String @unique username String? @unique purchased Purchase[] role Role? @relation(fields: [roleId], references: [id]) roleId Int? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model Role { id Int @id @default(autoincrement()) name String @unique users User[] } model Course { id Int @id @default(autoincrement()) title String description String isFree Boolean @default(false) resources Resource[] purchases Purchase[] noteId String? @unique createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model Resource { id Int @id @default(autoincrement()) title String content String // Markdown content course Course? @relation(fields: [courseId], references: [id]) noteId String? @unique courseId Int? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model Purchase { id Int @id @default(autoincrement()) user User @relation(fields: [userId], references: [id]) userId Int course Course @relation(fields: [courseId], references: [id]) courseId Int amountPaid Int // in satoshis paymentType String // Webln or NWC createdAt DateTime @default(now()) updatedAt DateTime @updatedAt }