1
0
Fork 0
freesewing/sites/backend/prisma/schema.prisma

168 lines
4.7 KiB
Text
Raw Normal View History

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("")
2023-08-21 10:34:02 +02:00
calls Int @default(0)
createdAt DateTime @default(now())
expiresAt DateTime
name String @default("")
2023-08-21 10:34:02 +02:00
lastSeen DateTime?
level Int @default(0)
secret String
user User @relation(fields: [userId], references: [id])
userId Int
}
2023-08-18 18:31:24 +02:00
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
2022-10-31 17:54:49 +01:00
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 {
2022-11-05 22:02:51 +01:00
id Int @id @default(autoincrement())
apikeys Apikey[]
bio String @default("")
2023-08-18 18:31:24 +02:00
bookmarks Bookmark[]
compare Boolean @default(true)
confirmations Confirmation[]
2022-11-05 22:02:51 +01:00
consent Int @default(0)
2022-11-14 18:45:45 +01:00
control Int @default(1)
2022-11-05 22:02:51 +01:00
createdAt DateTime @default(now())
data String
2022-11-05 22:02:51 +01:00
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
2022-11-17 20:41:21 +01:00
mfaSecret String @default("")
mfaEnabled Boolean @default(false)
2022-11-05 22:02:51 +01:00
newsletter Boolean @default(false)
password String
patron Int @default(0)
patterns Pattern[]
sets Set[]
2022-11-05 22:02:51 +01:00
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())
2022-11-14 18:45:45 +01:00
data String
design String
2022-11-12 20:36:47 +01:00
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())
2022-11-12 20:36:47 +01:00
img String?
imperial Boolean @default(false)
2022-11-12 17:33:55 +01:00
name String @default("")
notes String @default("")
user User @relation(fields: [userId], references: [id])
userId Int
measies String @default("{}")
2022-11-12 17:33:55 +01:00
public Boolean @default(false)
2022-11-19 18:11:28 +01:00
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
}