Atlas-G / prisma /schema.prisma
DiGiAI's picture
all
6c192fb
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")
}