175 lines
7.0 KiB
Plaintext
175 lines
7.0 KiB
Plaintext
generator client {
|
|
provider = "prisma-client-js"
|
|
}
|
|
|
|
datasource db {
|
|
provider = "postgresql"
|
|
url = env("DATABASE_URL")
|
|
}
|
|
|
|
model component {
|
|
id String @id(map: "component_id") @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
|
name String
|
|
content_tree Json
|
|
created_at DateTime? @default(now()) @db.Timestamp(6)
|
|
updated_at DateTime? @default(now()) @db.Timestamp(6)
|
|
type String @default("item")
|
|
id_component_group String? @db.Uuid
|
|
props Json @default("[]")
|
|
component_group component_group? @relation(fields: [id_component_group], references: [id], onDelete: Cascade)
|
|
}
|
|
|
|
model component_group {
|
|
id String @id(map: "site_comp_group_id") @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
|
name String
|
|
shared Boolean @default(false)
|
|
component component[]
|
|
component_site component_site[]
|
|
}
|
|
|
|
model component_site {
|
|
id_component_group String @db.Uuid
|
|
id_site String @db.Uuid
|
|
is_owner Boolean @default(true)
|
|
component_group component_group @relation(fields: [id_component_group], references: [id], onDelete: Cascade)
|
|
site site @relation(fields: [id_site], references: [id], onDelete: Cascade)
|
|
|
|
@@id([id_component_group, id_site], map: "component_site_id_component_group_id_site")
|
|
}
|
|
|
|
model npm_page {
|
|
id BigInt @id @default(autoincrement())
|
|
id_page String @db.Uuid
|
|
module String
|
|
version String
|
|
types Boolean @default(false)
|
|
bundled Boolean @default(false)
|
|
import_as Json @default("{\"main\": {\"mode\": \"default\", \"name\": \"\"}, \"names\": []}")
|
|
}
|
|
|
|
model npm_site {
|
|
id BigInt @id @default(autoincrement())
|
|
id_site String @db.Uuid
|
|
module String
|
|
version String
|
|
types Boolean @default(false)
|
|
bundled Boolean @default(false)
|
|
import_as Json @default("{\"main\": {\"mode\": \"default\", \"name\": \"\"}, \"names\": []}")
|
|
site site @relation(fields: [id_site], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
|
}
|
|
|
|
model org {
|
|
id String @id(map: "organization_id") @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
|
name String
|
|
created_at DateTime? @default(now()) @db.Timestamp(6)
|
|
updated_at DateTime? @db.Timestamp(6)
|
|
created_by String? @db.Uuid
|
|
user user? @relation(fields: [created_by], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "organization_user_created_fkey")
|
|
org_user org_user[]
|
|
site site[]
|
|
}
|
|
|
|
model org_user {
|
|
id Int @id @default(autoincrement())
|
|
id_org String @db.Uuid
|
|
id_user String @db.Uuid
|
|
role String @default("member")
|
|
org org @relation(fields: [id_org], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
|
user user @relation(fields: [id_user], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
|
}
|
|
|
|
model page {
|
|
id String @id(map: "page_id") @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
|
name String
|
|
url String
|
|
content_tree Json
|
|
id_site String @db.Uuid
|
|
created_at DateTime? @default(now()) @db.Timestamp(6)
|
|
js_compiled String?
|
|
js String?
|
|
updated_at DateTime? @default(now()) @db.Timestamp(6)
|
|
id_folder String? @db.Uuid
|
|
is_deleted Boolean @default(false)
|
|
id_layout String? @db.Uuid
|
|
is_default_layout Boolean @default(false)
|
|
page_folder page_folder? @relation(fields: [id_folder], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
|
page page? @relation("pageTopage", fields: [id_layout], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
|
other_page page[] @relation("pageTopage")
|
|
site site @relation(fields: [id_site], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
|
page_history page_history[]
|
|
}
|
|
|
|
model page_folder {
|
|
id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
|
name String?
|
|
parent_id String? @db.Uuid
|
|
id_site String @db.Uuid
|
|
is_deleted Boolean @default(false)
|
|
page page[]
|
|
site site @relation(fields: [id_site], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
|
}
|
|
|
|
model site {
|
|
id String @id(map: "site_id") @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
|
name String
|
|
favicon String
|
|
domain String @unique(map: "site_domain")
|
|
id_user String @db.Uuid
|
|
created_at DateTime? @default(now()) @db.Timestamp(6)
|
|
id_org String? @db.Uuid
|
|
updated_at DateTime? @default(now()) @db.Timestamp(6)
|
|
js String? @default("")
|
|
css String? @default("")
|
|
js_compiled String? @default("")
|
|
config Json @default("{}")
|
|
is_deleted Boolean @default(false)
|
|
responsive String @default("all")
|
|
npm_cache String @default(" ") @db.VarChar
|
|
code_mode String @default("old") @db.VarChar(5)
|
|
component_site component_site[]
|
|
npm_site npm_site[]
|
|
page page[]
|
|
page_folder page_folder[]
|
|
org org? @relation(fields: [id_org], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "site_id_organization_fkey")
|
|
user user @relation(fields: [id_user], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
|
}
|
|
|
|
model site_use_comp {
|
|
id_site String @db.Uuid
|
|
use_id_site String @db.Uuid
|
|
|
|
@@id([id_site, use_id_site])
|
|
}
|
|
|
|
model user {
|
|
id String @id(map: "user_id") @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
|
username String @unique(map: "user_username")
|
|
password String
|
|
phone String
|
|
email String
|
|
created_at DateTime? @default(now()) @db.Timestamp(6)
|
|
token_reset_password String?
|
|
token_reset_password_expired DateTime? @db.Timestamp(6)
|
|
updated_at DateTime? @default(now()) @db.Timestamp(6)
|
|
nominal_deposit Decimal @default(0) @db.Decimal(18, 3)
|
|
org org[]
|
|
org_user org_user[]
|
|
site site[]
|
|
}
|
|
|
|
model page_history {
|
|
id String @id(map: "page_history_id") @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
|
id_page String @db.Uuid
|
|
content_tree Bytes
|
|
ts String
|
|
page page @relation(fields: [id_page], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
|
}
|
|
|
|
model deploy_target {
|
|
id String @id(map: "deploy_target_id") @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
|
id_site Int
|
|
name String
|
|
api_url String
|
|
domain String
|
|
}
|