OneLauncher-Cracked/src-tauri/prisma/schema.prisma
2024-03-22 22:27:01 +01:00

100 lines
1.7 KiB
Text

datasource db {
provider = "sqlite"
url = "file:dev.db"
}
generator client {
provider = "cargo prisma"
output = "../../crates/prisma/src/prisma.rs"
}
// todo: replace all `path` fields with a model with a checksum n shit
// todo: replace all `String` fields with an enum if applicable
// represents a single minecraft instance
model Instance {
id Int @id @default(autoincrement())
name String?
path String?
hidden Boolean?
time_played DateTime
last_played DateTime
date_created DateTime @default(now())
mods Mod[]
java_instance JavaInstance @relation(fields: [java_instance_id], references: [id])
java_instance_id Int
@@map("instance")
}
model JavaInstance {
id Int @id @default(autoincrement())
name String?
path String?
version String?
arch String?
instance Instance[]
@@map("java_instance")
}
model Asset {
id Int @id @default(autoincrement())
name String?
path String?
enabled Boolean @default(true)
hidden Boolean?
date_added DateTime?
/// @local
instance_id Int?
instance Instance? @relation(fields: [instance_id], references: [id], onDelete: SetNull)
@@map("asset")
}
model MinecraftManifest {
id String @id
assets String
compliance_level Int
downloads Downloads
@@map("minecraft_manifest")
}
model Downloads {
client Client
@@map("downloads")
}
model Client {
sha1 String @unique
size Int
url String
@@map("client")
}
model JavaVersion {
component String
major_version MajorVersion @default(VERSION_1_21)
}
enum MajorVersion {
VERSION_1_21
VERSION_1_8
}
model Library {
downloads LibraryDownloads
name String
rules Rule[]
extract Extract?
natives Natives?
}