mirror of
https://github.com/SkalaraAI/beta.git
synced 2025-04-09 15:00:20 -04:00
446 lines
18 KiB
Plaintext
446 lines
18 KiB
Plaintext
generator client {
|
|
provider = "prisma-client-js"
|
|
previewFeatures = ["multiSchema"]
|
|
}
|
|
|
|
datasource db {
|
|
provider = "postgresql"
|
|
url = env("DATABASE_URL")
|
|
schemas = ["auth", "public"]
|
|
}
|
|
|
|
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
|
|
model audit_log_entries {
|
|
instance_id String? @db.Uuid
|
|
id String @id @db.Uuid
|
|
payload Json? @db.Json
|
|
created_at DateTime? @db.Timestamptz(6)
|
|
ip_address String @default("") @db.VarChar(64)
|
|
|
|
@@index([instance_id], map: "audit_logs_instance_id_idx")
|
|
@@schema("auth")
|
|
}
|
|
|
|
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
|
|
model flow_state {
|
|
id String @id @db.Uuid
|
|
user_id String? @db.Uuid
|
|
auth_code String
|
|
code_challenge_method code_challenge_method
|
|
code_challenge String
|
|
provider_type String
|
|
provider_access_token String?
|
|
provider_refresh_token String?
|
|
created_at DateTime? @db.Timestamptz(6)
|
|
updated_at DateTime? @db.Timestamptz(6)
|
|
authentication_method String
|
|
|
|
@@index([created_at(sort: Desc)])
|
|
@@index([auth_code], map: "idx_auth_code")
|
|
@@index([user_id, authentication_method], map: "idx_user_id_auth_method")
|
|
@@schema("auth")
|
|
}
|
|
|
|
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
|
|
model identities {
|
|
id String
|
|
user_id String @db.Uuid
|
|
identity_data Json
|
|
provider String
|
|
last_sign_in_at DateTime? @db.Timestamptz(6)
|
|
created_at DateTime? @db.Timestamptz(6)
|
|
updated_at DateTime? @db.Timestamptz(6)
|
|
email String? @default(dbgenerated("lower((identity_data ->> 'email'::text))"))
|
|
users users @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
|
|
|
|
@@id([provider, id])
|
|
@@index([email])
|
|
@@index([user_id])
|
|
@@schema("auth")
|
|
}
|
|
|
|
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
|
|
model instances {
|
|
id String @id @db.Uuid
|
|
uuid String? @db.Uuid
|
|
raw_base_config String?
|
|
created_at DateTime? @db.Timestamptz(6)
|
|
updated_at DateTime? @db.Timestamptz(6)
|
|
|
|
@@schema("auth")
|
|
}
|
|
|
|
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
|
|
model mfa_amr_claims {
|
|
session_id String @db.Uuid
|
|
created_at DateTime @db.Timestamptz(6)
|
|
updated_at DateTime @db.Timestamptz(6)
|
|
authentication_method String
|
|
id String @id(map: "amr_id_pk") @db.Uuid
|
|
sessions sessions @relation(fields: [session_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
|
|
|
|
@@unique([session_id, authentication_method], map: "mfa_amr_claims_session_id_authentication_method_pkey")
|
|
@@schema("auth")
|
|
}
|
|
|
|
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
|
|
model mfa_challenges {
|
|
id String @id @db.Uuid
|
|
factor_id String @db.Uuid
|
|
created_at DateTime @db.Timestamptz(6)
|
|
verified_at DateTime? @db.Timestamptz(6)
|
|
ip_address String @db.Inet
|
|
mfa_factors mfa_factors @relation(fields: [factor_id], references: [id], onDelete: Cascade, onUpdate: NoAction, map: "mfa_challenges_auth_factor_id_fkey")
|
|
|
|
@@index([created_at(sort: Desc)], map: "mfa_challenge_created_at_idx")
|
|
@@schema("auth")
|
|
}
|
|
|
|
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
|
|
model mfa_factors {
|
|
id String @id @db.Uuid
|
|
user_id String @db.Uuid
|
|
friendly_name String?
|
|
factor_type factor_type
|
|
status factor_status
|
|
created_at DateTime @db.Timestamptz(6)
|
|
updated_at DateTime @db.Timestamptz(6)
|
|
secret String?
|
|
mfa_challenges mfa_challenges[]
|
|
users users @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
|
|
|
|
@@index([user_id, created_at], map: "factor_id_created_at_idx")
|
|
@@schema("auth")
|
|
}
|
|
|
|
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
|
|
model refresh_tokens {
|
|
instance_id String? @db.Uuid
|
|
id BigInt @id @default(autoincrement())
|
|
token String? @unique(map: "refresh_tokens_token_unique") @db.VarChar(255)
|
|
user_id String? @db.VarChar(255)
|
|
revoked Boolean?
|
|
created_at DateTime? @db.Timestamptz(6)
|
|
updated_at DateTime? @db.Timestamptz(6)
|
|
parent String? @db.VarChar(255)
|
|
session_id String? @db.Uuid
|
|
sessions sessions? @relation(fields: [session_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
|
|
|
|
@@index([instance_id])
|
|
@@index([instance_id, user_id])
|
|
@@index([parent])
|
|
@@index([session_id, revoked])
|
|
@@index([updated_at(sort: Desc)])
|
|
@@schema("auth")
|
|
}
|
|
|
|
/// This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info.
|
|
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
|
|
model saml_providers {
|
|
id String @id @db.Uuid
|
|
sso_provider_id String @db.Uuid
|
|
entity_id String @unique
|
|
metadata_xml String
|
|
metadata_url String?
|
|
attribute_mapping Json?
|
|
created_at DateTime? @db.Timestamptz(6)
|
|
updated_at DateTime? @db.Timestamptz(6)
|
|
sso_providers sso_providers @relation(fields: [sso_provider_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
|
|
|
|
@@index([sso_provider_id])
|
|
@@schema("auth")
|
|
}
|
|
|
|
/// This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info.
|
|
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
|
|
model saml_relay_states {
|
|
id String @id @db.Uuid
|
|
sso_provider_id String @db.Uuid
|
|
request_id String
|
|
for_email String?
|
|
redirect_to String?
|
|
from_ip_address String? @db.Inet
|
|
created_at DateTime? @db.Timestamptz(6)
|
|
updated_at DateTime? @db.Timestamptz(6)
|
|
sso_providers sso_providers @relation(fields: [sso_provider_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
|
|
|
|
@@index([created_at(sort: Desc)])
|
|
@@index([for_email])
|
|
@@index([sso_provider_id])
|
|
@@schema("auth")
|
|
}
|
|
|
|
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
|
|
model schema_migrations {
|
|
version String @id @db.VarChar(255)
|
|
|
|
@@schema("auth")
|
|
}
|
|
|
|
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
|
|
model sessions {
|
|
id String @id @db.Uuid
|
|
user_id String @db.Uuid
|
|
created_at DateTime? @db.Timestamptz(6)
|
|
updated_at DateTime? @db.Timestamptz(6)
|
|
factor_id String? @db.Uuid
|
|
aal aal_level?
|
|
not_after DateTime? @db.Timestamptz(6)
|
|
mfa_amr_claims mfa_amr_claims[]
|
|
refresh_tokens refresh_tokens[]
|
|
users users @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
|
|
|
|
@@index([not_after(sort: Desc)])
|
|
@@index([user_id])
|
|
@@index([user_id, created_at], map: "user_id_created_at_idx")
|
|
@@schema("auth")
|
|
}
|
|
|
|
/// This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info.
|
|
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
|
|
/// This model contains an expression index which requires additional setup for migrations. Visit https://pris.ly/d/expression-indexes for more info.
|
|
model sso_domains {
|
|
id String @id @db.Uuid
|
|
sso_provider_id String @db.Uuid
|
|
domain String
|
|
created_at DateTime? @db.Timestamptz(6)
|
|
updated_at DateTime? @db.Timestamptz(6)
|
|
sso_providers sso_providers @relation(fields: [sso_provider_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
|
|
|
|
@@index([sso_provider_id])
|
|
@@schema("auth")
|
|
}
|
|
|
|
/// This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info.
|
|
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
|
|
/// This model contains an expression index which requires additional setup for migrations. Visit https://pris.ly/d/expression-indexes for more info.
|
|
model sso_providers {
|
|
id String @id @db.Uuid
|
|
resource_id String?
|
|
created_at DateTime? @db.Timestamptz(6)
|
|
updated_at DateTime? @db.Timestamptz(6)
|
|
saml_providers saml_providers[]
|
|
saml_relay_states saml_relay_states[]
|
|
sso_domains sso_domains[]
|
|
|
|
@@schema("auth")
|
|
}
|
|
|
|
/// This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info.
|
|
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
|
|
/// This model contains an expression index which requires additional setup for migrations. Visit https://pris.ly/d/expression-indexes for more info.
|
|
model users {
|
|
instance_id String? @db.Uuid
|
|
id String @id @db.Uuid
|
|
aud String? @db.VarChar(255)
|
|
role String? @db.VarChar(255)
|
|
email String? @db.VarChar(255)
|
|
encrypted_password String? @db.VarChar(255)
|
|
email_confirmed_at DateTime? @db.Timestamptz(6)
|
|
invited_at DateTime? @db.Timestamptz(6)
|
|
confirmation_token String? @db.VarChar(255)
|
|
confirmation_sent_at DateTime? @db.Timestamptz(6)
|
|
recovery_token String? @db.VarChar(255)
|
|
recovery_sent_at DateTime? @db.Timestamptz(6)
|
|
email_change_token_new String? @db.VarChar(255)
|
|
email_change String? @db.VarChar(255)
|
|
email_change_sent_at DateTime? @db.Timestamptz(6)
|
|
last_sign_in_at DateTime? @db.Timestamptz(6)
|
|
raw_app_meta_data Json?
|
|
raw_user_meta_data Json?
|
|
is_super_admin Boolean?
|
|
created_at DateTime? @db.Timestamptz(6)
|
|
updated_at DateTime? @db.Timestamptz(6)
|
|
phone String? @unique
|
|
phone_confirmed_at DateTime? @db.Timestamptz(6)
|
|
phone_change String? @default("")
|
|
phone_change_token String? @default("") @db.VarChar(255)
|
|
phone_change_sent_at DateTime? @db.Timestamptz(6)
|
|
confirmed_at DateTime? @default(dbgenerated("LEAST(email_confirmed_at, phone_confirmed_at)")) @db.Timestamptz(6)
|
|
email_change_token_current String? @default("") @db.VarChar(255)
|
|
email_change_confirm_status Int? @default(0) @db.SmallInt
|
|
banned_until DateTime? @db.Timestamptz(6)
|
|
reauthentication_token String? @default("") @db.VarChar(255)
|
|
reauthentication_sent_at DateTime? @db.Timestamptz(6)
|
|
is_sso_user Boolean @default(false)
|
|
deleted_at DateTime? @db.Timestamptz(6)
|
|
identities identities[]
|
|
mfa_factors mfa_factors[]
|
|
sessions sessions[]
|
|
profile profile?
|
|
|
|
@@index([instance_id])
|
|
@@schema("auth")
|
|
}
|
|
|
|
model workspace {
|
|
id BigInt @id @default(autoincrement())
|
|
created_at DateTime @default(now()) @db.Timestamptz(6)
|
|
name String @db.VarChar
|
|
icon String? @db.VarChar
|
|
profile_workspace profile_workspace[]
|
|
project project[]
|
|
team team[]
|
|
|
|
@@schema("public")
|
|
}
|
|
|
|
model documents {
|
|
id BigInt @id @default(autoincrement())
|
|
content String?
|
|
metadata Json?
|
|
embedding Unsupported("vector")?
|
|
|
|
@@schema("public")
|
|
}
|
|
|
|
model feature {
|
|
id BigInt @id @default(autoincrement())
|
|
created_at DateTime @default(now()) @db.Timestamptz(6)
|
|
name String @db.VarChar
|
|
description String? @db.VarChar
|
|
project_id BigInt
|
|
project project @relation(fields: [project_id], references: [id], onDelete: Cascade)
|
|
task task[]
|
|
|
|
@@schema("public")
|
|
}
|
|
|
|
model message {
|
|
id BigInt @id @default(autoincrement())
|
|
created_at DateTime @default(now()) @db.Timestamptz(6)
|
|
user_id String? @db.Uuid
|
|
content String @db.VarChar
|
|
task_id BigInt
|
|
task task @relation(fields: [task_id], references: [id], onDelete: Cascade)
|
|
profile profile? @relation(fields: [user_id], references: [id], onDelete: Cascade)
|
|
|
|
@@schema("public")
|
|
}
|
|
|
|
model profile {
|
|
id String @id @db.Uuid
|
|
created_at DateTime @default(now()) @db.Timestamptz(6)
|
|
name String? @db.VarChar
|
|
email String @db.VarChar
|
|
message message[]
|
|
users users @relation(fields: [id], references: [id], onDelete: Cascade)
|
|
profile_project profile_project[]
|
|
profile_task profile_task[]
|
|
profile_team profile_team[]
|
|
profile_workspace profile_workspace[]
|
|
|
|
@@schema("public")
|
|
}
|
|
|
|
model profile_project {
|
|
id BigInt @id @default(autoincrement())
|
|
profile_id String @db.Uuid
|
|
project_id BigInt
|
|
profile profile @relation(fields: [profile_id], references: [id], onDelete: Cascade)
|
|
project project @relation(fields: [project_id], references: [id], onDelete: Cascade)
|
|
|
|
@@schema("public")
|
|
}
|
|
|
|
model profile_task {
|
|
id BigInt @id @default(autoincrement())
|
|
profile_id String @db.Uuid
|
|
task_id BigInt
|
|
profile profile @relation(fields: [profile_id], references: [id], onDelete: Cascade)
|
|
task task @relation(fields: [task_id], references: [id], onDelete: Cascade)
|
|
|
|
@@schema("public")
|
|
}
|
|
|
|
model profile_team {
|
|
id BigInt @id @default(autoincrement())
|
|
profile_id String @db.Uuid
|
|
team_id BigInt
|
|
profile profile @relation(fields: [profile_id], references: [id], onDelete: Cascade)
|
|
team team @relation(fields: [team_id], references: [id], onDelete: Cascade)
|
|
|
|
@@schema("public")
|
|
}
|
|
|
|
model profile_workspace {
|
|
id BigInt @id @default(autoincrement())
|
|
profile_id String @db.Uuid
|
|
workspace_id BigInt
|
|
profile profile @relation(fields: [profile_id], references: [id], onDelete: Cascade)
|
|
workspace workspace @relation(fields: [workspace_id], references: [id], onDelete: Cascade)
|
|
|
|
@@schema("public")
|
|
}
|
|
|
|
model project {
|
|
id BigInt @id @default(autoincrement())
|
|
created_at DateTime @default(now()) @db.Timestamptz(6)
|
|
name String @db.VarChar
|
|
description String? @db.VarChar
|
|
stack String[] @db.VarChar
|
|
workspace_id BigInt
|
|
feature feature[]
|
|
profile_project profile_project[]
|
|
workspace workspace @relation(fields: [workspace_id], references: [id], onDelete: Cascade)
|
|
task task[]
|
|
|
|
@@schema("public")
|
|
}
|
|
|
|
model task {
|
|
id BigInt @id @default(autoincrement())
|
|
created_at DateTime @default(now()) @db.Timestamptz(6)
|
|
name String @db.VarChar
|
|
description String? @db.VarChar
|
|
project_id BigInt
|
|
feature_id BigInt?
|
|
message message[]
|
|
profile_task profile_task[]
|
|
feature feature? @relation(fields: [feature_id], references: [id])
|
|
project project @relation(fields: [project_id], references: [id], onDelete: Cascade)
|
|
|
|
@@schema("public")
|
|
}
|
|
|
|
model team {
|
|
id BigInt @id @default(autoincrement())
|
|
created_at DateTime @default(now()) @db.Timestamptz(6)
|
|
name String @db.VarChar
|
|
description String? @db.VarChar
|
|
workspace_id BigInt
|
|
profile_team profile_team[]
|
|
workspace workspace @relation(fields: [workspace_id], references: [id], onDelete: Cascade)
|
|
|
|
@@schema("public")
|
|
}
|
|
|
|
enum aal_level {
|
|
aal1
|
|
aal2
|
|
aal3
|
|
|
|
@@schema("auth")
|
|
}
|
|
|
|
enum code_challenge_method {
|
|
s256
|
|
plain
|
|
|
|
@@schema("auth")
|
|
}
|
|
|
|
enum factor_status {
|
|
unverified
|
|
verified
|
|
|
|
@@schema("auth")
|
|
}
|
|
|
|
enum factor_type {
|
|
totp
|
|
webauthn
|
|
|
|
@@schema("auth")
|
|
}
|