generator client { provider = "prisma-client-js" binaryTargets = ["native", "debian-openssl-1.1.x"] } datasource db { provider = "sqlite" url = env("BACKEND_DB_URL") } model Apikey { id String @id @default(uuid()) aud String @default("") calls Int @default(0) createdAt DateTime @default(now()) expiresAt DateTime name String @default("") lastSeen DateTime? level Int @default(0) secret String user User @relation(fields: [userId], references: [id]) userId Int } model Bookmark { id Int @id @default(autoincrement()) type String @default("") title String @default("") url String @default("") user User @relation(fields: [userId], references: [id]) userId Int } model Confirmation { id String @id @default(uuid()) createdAt DateTime @default(now()) data String type String user User? @relation(fields: [userId], references: [id]) userId Int? } model Subscriber { id String @id @default(uuid()) active Boolean @default(false) createdAt DateTime @default(now()) ehash String @unique email String language String @default("en") updatedAt DateTime @updatedAt } model User { id Int @id @default(autoincrement()) apikeys Apikey[] bio String @default("") bookmarks Bookmark[] compare Boolean @default(true) confirmations Confirmation[] consent Int @default(0) control Int @default(1) createdAt DateTime @default(now()) data String ehash String @unique email String ihash String initial String imperial Boolean @default(false) jwtCalls Int @default(0) keyCalls Int @default(0) language String @default("en") lastSeen DateTime? lusername String @unique mfaSecret String @default("") mfaEnabled Boolean @default(false) newsletter Boolean @default(false) password String patron Int @default(0) patterns Pattern[] sets Set[] role String @default("user") status Int @default(0) updatedAt DateTime? @updatedAt username String @@index([ihash]) } model Pattern { id Int @id @default(autoincrement()) createdAt DateTime @default(now()) data String design String img String? name String @default("") notes String public Boolean @default(false) settings String user User @relation(fields: [userId], references: [id]) userId Int updatedAt DateTime @updatedAt @@index([userId, design]) } model Set { id Int @id @default(autoincrement()) createdAt DateTime @default(now()) img String? imperial Boolean @default(false) name String @default("") notes String @default("") user User @relation(fields: [userId], references: [id]) userId Int measies String @default("{}") public Boolean @default(false) updatedAt DateTime @updatedAt @@index([userId]) } model CuratedSet { id Int @id @default(autoincrement()) createdAt DateTime @default(now()) height Int @default(1) info String @default("") nameDe String @default("") nameEn String @default("") nameEs String @default("") nameFr String @default("") nameNl String @default("") nameUk String @default("") notesDe String @default("") notesEn String @default("") notesEs String @default("") notesFr String @default("") notesNl String @default("") notesUk String @default("") tags String @default("{}") measies String @default("[]") updatedAt DateTime @updatedAt published Boolean @default(false) } model OptionPack { id Int @id @default(autoincrement()) createdAt DateTime @default(now()) design String @default("") img String? info String @default("") nameDe String @default("") nameEn String @default("") nameEs String @default("") nameFr String @default("") nameNl String @default("") nameUk String @default("") notesDe String @default("") notesEn String @default("") notesEs String @default("") notesFr String @default("") notesNl String @default("") notesUk String @default("") tags String @default("[]") options String @default("{}") updatedAt DateTime @updatedAt }