refine schema, resources can be purchased

This commit is contained in:
austinkelsay 2024-02-10 21:42:19 -06:00
parent d0477edf16
commit 22fedb4203

View File

@ -16,14 +16,29 @@ model User {
model Role { model Role {
id Int @id @default(autoincrement()) id Int @id @default(autoincrement())
name String @unique subscribed Boolean @default(false)
users User[] users User[]
} }
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?
resource Resource? @relation(fields: [resourceId], references: [id])
resourceId Int?
amountPaid Int // in satoshis
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Course { model Course {
id Int @id @default(autoincrement()) id Int @id @default(autoincrement())
title String title String
description String description String
image String
isFree Boolean @default(false) isFree Boolean @default(false)
resources Resource[] resources Resource[]
purchases Purchase[] purchases Purchase[]
@ -36,21 +51,11 @@ model Resource {
id Int @id @default(autoincrement()) id Int @id @default(autoincrement())
title String title String
content String // Markdown content content String // Markdown content
image String?
course Course? @relation(fields: [courseId], references: [id]) course Course? @relation(fields: [courseId], references: [id])
noteId String? @unique
courseId Int? courseId Int?
createdAt DateTime @default(now()) purchases Purchase[]
updatedAt DateTime @updatedAt noteId String? @unique
}
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()) createdAt DateTime @default(now())
updatedAt DateTime @updatedAt updatedAt DateTime @updatedAt
} }