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") }