|
|
generator client { |
|
|
provider = "prisma-client-py" |
|
|
previewFeatures = ["multiSchema"] |
|
|
} |
|
|
|
|
|
datasource db { |
|
|
provider = "postgresql" |
|
|
url = env("DATABASE_URL") |
|
|
schemas = ["auth", "public"] |
|
|
} |
|
|
|
|
|
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") |
|
|
} |
|
|
|
|
|
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 |
|
|
saml_relay_states saml_relay_states[] |
|
|
|
|
|
@@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") |
|
|
} |
|
|
|
|
|
model identities { |
|
|
provider_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))")) |
|
|
id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid |
|
|
users auth_users @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: NoAction) |
|
|
|
|
|
@@unique([provider_id, provider], map: "identities_provider_id_provider_unique") |
|
|
@@index([email]) |
|
|
@@index([user_id]) |
|
|
@@schema("auth") |
|
|
} |
|
|
|
|
|
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") |
|
|
} |
|
|
|
|
|
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") |
|
|
} |
|
|
|
|
|
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") |
|
|
} |
|
|
|
|
|
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 auth_users @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: NoAction) |
|
|
|
|
|
@@index([user_id, created_at], map: "factor_id_created_at_idx") |
|
|
@@index([user_id]) |
|
|
@@schema("auth") |
|
|
} |
|
|
|
|
|
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") |
|
|
} |
|
|
|
|
|
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") |
|
|
} |
|
|
|
|
|
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) |
|
|
flow_state_id String? @db.Uuid |
|
|
flow_state flow_state? @relation(fields: [flow_state_id], references: [id], onDelete: Cascade, onUpdate: NoAction) |
|
|
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") |
|
|
} |
|
|
|
|
|
model schema_migrations { |
|
|
version String @id @db.VarChar(255) |
|
|
|
|
|
@@schema("auth") |
|
|
} |
|
|
|
|
|
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) |
|
|
refreshed_at DateTime? @db.Timestamp(6) |
|
|
user_agent String? |
|
|
ip String? @db.Inet |
|
|
tag String? |
|
|
mfa_amr_claims mfa_amr_claims[] |
|
|
refresh_tokens refresh_tokens[] |
|
|
users auth_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") |
|
|
} |
|
|
|
|
|
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") |
|
|
} |
|
|
|
|
|
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") |
|
|
} |
|
|
|
|
|
model auth_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[] |
|
|
customers customers? |
|
|
subscriptions subscriptions[] |
|
|
users public_users? |
|
|
|
|
|
@@index([instance_id]) |
|
|
@@map("users") |
|
|
@@schema("auth") |
|
|
} |
|
|
|
|
|
model Accommodations { |
|
|
id BigInt @id(map: "Hotels_pkey") @default(autoincrement()) |
|
|
created_at DateTime @default(now()) @db.Timestamptz(6) |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model Activities { |
|
|
id BigInt @id @default(autoincrement()) |
|
|
created_at DateTime @default(now()) @db.Timestamptz(6) |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model Assistants { |
|
|
id String @id @db.Uuid |
|
|
name String |
|
|
description String? |
|
|
created_at DateTime @default(now()) @db.Timestamptz(6) |
|
|
updated_at DateTime? @db.Timestamptz(6) |
|
|
system_message String? |
|
|
opening_message String? |
|
|
managers String[] |
|
|
slug String? @unique |
|
|
directory BigInt? |
|
|
tools Json[] |
|
|
traits String[] |
|
|
openai_assistant_id String? |
|
|
model String? |
|
|
Directories_Assistants_directoryToDirectories Directories? @relation("Assistants_directoryToDirectories", fields: [directory], references: [id], onDelete: NoAction, onUpdate: NoAction) |
|
|
Chats Chats[] |
|
|
Directories_Directories_assistantToAssistants Directories[] @relation("Directories_assistantToAssistants") |
|
|
Pages Pages[] |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model Chatbots { |
|
|
id BigInt @id @default(autoincrement()) |
|
|
created_at DateTime @default(now()) @db.Timestamptz(6) |
|
|
name String? |
|
|
description String? |
|
|
customer String? @db.Uuid |
|
|
type chatbot_type? |
|
|
platform String? |
|
|
customers customers? @relation(fields: [customer], references: [id], onDelete: NoAction, onUpdate: NoAction) |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model Chats { |
|
|
id BigInt @id @default(autoincrement()) |
|
|
created_at DateTime @default(now()) @db.Timestamptz(6) |
|
|
threadId String? |
|
|
assistant String? @db.Uuid |
|
|
Assistants Assistants? @relation(fields: [assistant], references: [id], onDelete: NoAction, onUpdate: NoAction) |
|
|
Messages Messages[] |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model Directories { |
|
|
id BigInt @id @default(autoincrement()) |
|
|
created_at DateTime @default(now()) @db.Timestamptz(6) |
|
|
assistant String? @db.Uuid |
|
|
Assistants_Assistants_directoryToDirectories Assistants[] @relation("Assistants_directoryToDirectories") |
|
|
Assistants_Directories_assistantToAssistants Assistants? @relation("Directories_assistantToAssistants", fields: [assistant], references: [id], onDelete: NoAction, onUpdate: NoAction) |
|
|
Files Files[] |
|
|
Pages Pages[] |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model Eateries { |
|
|
id BigInt @id @default(autoincrement()) |
|
|
created_at DateTime @default(now()) @db.Timestamptz(6) |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model Files { |
|
|
id BigInt @id @default(autoincrement()) |
|
|
created_at DateTime @default(now()) @db.Timestamptz(6) |
|
|
title String? |
|
|
description String? |
|
|
directory BigInt? |
|
|
Directories Directories? @relation(fields: [directory], references: [id], onDelete: NoAction, onUpdate: NoAction) |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model Flights { |
|
|
id BigInt @id @default(autoincrement()) |
|
|
created_at DateTime @default(now()) @db.Timestamptz(6) |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model Journals { |
|
|
id BigInt @id @default(autoincrement()) |
|
|
created_at DateTime @default(now()) @db.Timestamptz(6) |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model Messages { |
|
|
id BigInt @id @default(autoincrement()) |
|
|
created_at DateTime @default(now()) @db.Timestamptz(6) |
|
|
text String |
|
|
sender String |
|
|
chatId BigInt |
|
|
Chats Chats @relation(fields: [chatId], references: [id], onDelete: Cascade) |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model Pages { |
|
|
id BigInt @id @default(autoincrement()) |
|
|
created_at DateTime @default(now()) @db.Timestamptz(6) |
|
|
url String |
|
|
title String? |
|
|
directoryId BigInt? |
|
|
type page_type? |
|
|
website_url String? |
|
|
links_to String[] |
|
|
referring_links String[] |
|
|
images String[] |
|
|
assistantId String? @db.Uuid |
|
|
Assistants Assistants? @relation(fields: [assistantId], references: [id], onDelete: NoAction, onUpdate: NoAction) |
|
|
Directories Directories? @relation(fields: [directoryId], references: [id], onDelete: NoAction, onUpdate: NoAction) |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model Recommendations { |
|
|
id BigInt @id @default(autoincrement()) |
|
|
created_at DateTime @default(now()) @db.Timestamptz(6) |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model TravelPlans { |
|
|
id BigInt @id @default(autoincrement()) |
|
|
created_at DateTime @default(now()) @db.Timestamptz(6) |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model customers { |
|
|
id String @id @db.Uuid |
|
|
stripe_customer_id String? |
|
|
Chatbots Chatbots[] |
|
|
users auth_users @relation(fields: [id], references: [id], onDelete: NoAction, onUpdate: NoAction) |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model prices { |
|
|
id String @id |
|
|
product_id String? |
|
|
active Boolean? |
|
|
description String? |
|
|
unit_amount BigInt? |
|
|
currency String? |
|
|
type pricing_type? |
|
|
interval pricing_plan_interval? |
|
|
interval_count Int? |
|
|
trial_period_days Int? |
|
|
metadata Json? |
|
|
products products? @relation(fields: [product_id], references: [id], onDelete: NoAction, onUpdate: NoAction) |
|
|
subscriptions subscriptions[] |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model products { |
|
|
id String @id |
|
|
active Boolean? |
|
|
name String? |
|
|
description String? |
|
|
image String? |
|
|
metadata Json? |
|
|
prices prices[] |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model subscriptions { |
|
|
id String @id |
|
|
user_id String @db.Uuid |
|
|
status subscription_status? |
|
|
metadata Json? |
|
|
price_id String? |
|
|
quantity Int? |
|
|
cancel_at_period_end Boolean? |
|
|
created DateTime @default(dbgenerated("timezone('utc'::text, now())")) @db.Timestamptz(6) |
|
|
current_period_start DateTime @default(dbgenerated("timezone('utc'::text, now())")) @db.Timestamptz(6) |
|
|
current_period_end DateTime @default(dbgenerated("timezone('utc'::text, now())")) @db.Timestamptz(6) |
|
|
ended_at DateTime? @default(dbgenerated("timezone('utc'::text, now())")) @db.Timestamptz(6) |
|
|
cancel_at DateTime? @default(dbgenerated("timezone('utc'::text, now())")) @db.Timestamptz(6) |
|
|
canceled_at DateTime? @default(dbgenerated("timezone('utc'::text, now())")) @db.Timestamptz(6) |
|
|
trial_start DateTime? @default(dbgenerated("timezone('utc'::text, now())")) @db.Timestamptz(6) |
|
|
trial_end DateTime? @default(dbgenerated("timezone('utc'::text, now())")) @db.Timestamptz(6) |
|
|
prices prices? @relation(fields: [price_id], references: [id], onDelete: NoAction, onUpdate: NoAction) |
|
|
users auth_users @relation(fields: [user_id], references: [id], onDelete: NoAction, onUpdate: NoAction) |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
model public_users { |
|
|
id String @id @db.Uuid |
|
|
full_name String? |
|
|
avatar_url String? |
|
|
billing_address Json? |
|
|
payment_method Json? |
|
|
organization String? |
|
|
api_keys String[] @unique(map: "users_apiKeys_key") |
|
|
email String? @unique |
|
|
apiKey String? @unique |
|
|
openai_assistant_id String? @unique |
|
|
openai_api_key String? @unique |
|
|
users auth_users @relation(fields: [id], references: [id], onDelete: NoAction, onUpdate: NoAction) |
|
|
|
|
|
@@map("users") |
|
|
@@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") |
|
|
} |
|
|
|
|
|
enum chatbot_type { |
|
|
QandA |
|
|
Assistant |
|
|
CoPilot |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
enum page_type { |
|
|
Post |
|
|
Listing |
|
|
Product |
|
|
Services |
|
|
Booking |
|
|
Checkout |
|
|
Contact |
|
|
Other |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
enum pricing_plan_interval { |
|
|
day |
|
|
week |
|
|
month |
|
|
year |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
enum pricing_type { |
|
|
one_time |
|
|
recurring |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|
|
|
enum subscription_status { |
|
|
trialing |
|
|
active |
|
|
canceled |
|
|
incomplete |
|
|
incomplete_expired |
|
|
past_due |
|
|
unpaid |
|
|
paused |
|
|
|
|
|
@@schema("public") |
|
|
} |
|
|
|