{ "id": "49e24e82-3437-442a-b4c5-45e6e5afbc79", "prevId": "583ed7ba-ec99-4816-ad58-a518402313a7", "version": "7", "dialect": "postgresql", "tables": { "public.admin_messages": { "name": "admin_messages", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "text": { "name": "text", "type": "text", "primaryKey": false, "notNull": true }, "audience": { "name": "audience", "type": "text", "primaryKey": false, "notNull": true }, "company_id": { "name": "company_id", "type": "integer", "primaryKey": false, "notNull": false }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": false }, "recipients": { "name": "recipients", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "sent_at": { "name": "sent_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": { "admin_messages_company_id_companies_id_fk": { "name": "admin_messages_company_id_companies_id_fk", "tableFrom": "admin_messages", "tableTo": "companies", "columnsFrom": [ "company_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "admin_messages_user_id_users_id_fk": { "name": "admin_messages_user_id_users_id_fk", "tableFrom": "admin_messages", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.blacklist": { "name": "blacklist", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "company_id": { "name": "company_id", "type": "integer", "primaryKey": false, "notNull": true }, "phone": { "name": "phone", "type": "text", "primaryKey": false, "notNull": true }, "added_by_id": { "name": "added_by_id", "type": "integer", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "blacklist_uq": { "name": "blacklist_uq", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "phone", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "blacklist_company_id_companies_id_fk": { "name": "blacklist_company_id_companies_id_fk", "tableFrom": "blacklist", "tableTo": "companies", "columnsFrom": [ "company_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "blacklist_added_by_id_users_id_fk": { "name": "blacklist_added_by_id_users_id_fk", "tableFrom": "blacklist", "tableTo": "users", "columnsFrom": [ "added_by_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.client_leads": { "name": "client_leads", "schema": "", "columns": { "client_id": { "name": "client_id", "type": "integer", "primaryKey": false, "notNull": true }, "lead_id": { "name": "lead_id", "type": "integer", "primaryKey": false, "notNull": true }, "state": { "name": "state", "type": "text", "primaryKey": false, "notNull": true, "default": "'offered'" }, "shown_at": { "name": "shown_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "client_leads_uq": { "name": "client_leads_uq", "columns": [ { "expression": "client_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "lead_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "client_leads_client_id_clients_id_fk": { "name": "client_leads_client_id_clients_id_fk", "tableFrom": "client_leads", "tableTo": "clients", "columnsFrom": [ "client_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "client_leads_lead_id_leads_id_fk": { "name": "client_leads_lead_id_leads_id_fk", "tableFrom": "client_leads", "tableTo": "leads", "columnsFrom": [ "lead_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.clients": { "name": "clients", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "company_id": { "name": "company_id", "type": "integer", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "phone": { "name": "phone", "type": "text", "primaryKey": false, "notNull": false }, "kind": { "name": "kind", "type": "text", "primaryKey": false, "notNull": true }, "request": { "name": "request", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" }, "source": { "name": "source", "type": "text", "primaryKey": false, "notNull": false }, "assignee_id": { "name": "assignee_id", "type": "integer", "primaryKey": false, "notNull": true }, "status_id": { "name": "status_id", "type": "integer", "primaryKey": false, "notNull": true }, "reject_reason_id": { "name": "reject_reason_id", "type": "integer", "primaryKey": false, "notNull": false }, "next_action_at": { "name": "next_action_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "next_action_note": { "name": "next_action_note", "type": "text", "primaryKey": false, "notNull": false }, "next_action_notified_at": { "name": "next_action_notified_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "status_changed_at": { "name": "status_changed_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "clients_company_idx": { "name": "clients_company_idx", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "status_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "clients_company_id_companies_id_fk": { "name": "clients_company_id_companies_id_fk", "tableFrom": "clients", "tableTo": "companies", "columnsFrom": [ "company_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "clients_assignee_id_users_id_fk": { "name": "clients_assignee_id_users_id_fk", "tableFrom": "clients", "tableTo": "users", "columnsFrom": [ "assignee_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "clients_status_id_pipeline_statuses_id_fk": { "name": "clients_status_id_pipeline_statuses_id_fk", "tableFrom": "clients", "tableTo": "pipeline_statuses", "columnsFrom": [ "status_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "clients_reject_reason_id_reject_reasons_id_fk": { "name": "clients_reject_reason_id_reject_reasons_id_fk", "tableFrom": "clients", "tableTo": "reject_reasons", "columnsFrom": [ "reject_reason_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.companies": { "name": "companies", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "plan": { "name": "plan", "type": "text", "primaryKey": false, "notNull": true }, "billing_model": { "name": "billing_model", "type": "text", "primaryKey": false, "notNull": true, "default": "'fixed'" }, "planned_plan": { "name": "planned_plan", "type": "text", "primaryKey": false, "notNull": false }, "planned_billing_model": { "name": "planned_billing_model", "type": "text", "primaryKey": false, "notNull": false }, "planned_from": { "name": "planned_from", "type": "date", "primaryKey": false, "notNull": false }, "subscription_ends_at": { "name": "subscription_ends_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "grace_days": { "name": "grace_days", "type": "integer", "primaryKey": false, "notNull": true, "default": 15 }, "access_enabled": { "name": "access_enabled", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "setup_fee_invoiced": { "name": "setup_fee_invoiced", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "settings": { "name": "settings", "type": "jsonb", "primaryKey": false, "notNull": true }, "last_activity_at": { "name": "last_activity_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.deals": { "name": "deals", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "company_id": { "name": "company_id", "type": "integer", "primaryKey": false, "notNull": true }, "lead_id": { "name": "lead_id", "type": "integer", "primaryKey": false, "notNull": false }, "client_id": { "name": "client_id", "type": "integer", "primaryKey": false, "notNull": false }, "agent_id": { "name": "agent_id", "type": "integer", "primaryKey": false, "notNull": true }, "commission": { "name": "commission", "type": "numeric(14, 2)", "primaryKey": false, "notNull": true }, "currency": { "name": "currency", "type": "text", "primaryKey": false, "notNull": true }, "deal_date": { "name": "deal_date", "type": "date", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "deals_company_date_idx": { "name": "deals_company_date_idx", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "deal_date", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "deals_lead_uq": { "name": "deals_lead_uq", "columns": [ { "expression": "lead_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "deals_client_uq": { "name": "deals_client_uq", "columns": [ { "expression": "client_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "deals_company_id_companies_id_fk": { "name": "deals_company_id_companies_id_fk", "tableFrom": "deals", "tableTo": "companies", "columnsFrom": [ "company_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "deals_lead_id_leads_id_fk": { "name": "deals_lead_id_leads_id_fk", "tableFrom": "deals", "tableTo": "leads", "columnsFrom": [ "lead_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "deals_client_id_clients_id_fk": { "name": "deals_client_id_clients_id_fk", "tableFrom": "deals", "tableTo": "clients", "columnsFrom": [ "client_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "deals_agent_id_users_id_fk": { "name": "deals_agent_id_users_id_fk", "tableFrom": "deals", "tableTo": "users", "columnsFrom": [ "agent_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.email_tokens": { "name": "email_tokens", "schema": "", "columns": { "token_hash": { "name": "token_hash", "type": "text", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true }, "kind": { "name": "kind", "type": "text", "primaryKey": false, "notNull": true }, "expires_at": { "name": "expires_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": { "email_tokens_user_id_users_id_fk": { "name": "email_tokens_user_id_users_id_fk", "tableFrom": "email_tokens", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.events": { "name": "events", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "company_id": { "name": "company_id", "type": "integer", "primaryKey": false, "notNull": true }, "lead_id": { "name": "lead_id", "type": "integer", "primaryKey": false, "notNull": false }, "client_id": { "name": "client_id", "type": "integer", "primaryKey": false, "notNull": false }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": false }, "type": { "name": "type", "type": "text", "primaryKey": false, "notNull": true }, "old_value": { "name": "old_value", "type": "text", "primaryKey": false, "notNull": false }, "new_value": { "name": "new_value", "type": "text", "primaryKey": false, "notNull": false }, "status_id": { "name": "status_id", "type": "integer", "primaryKey": false, "notNull": false }, "text": { "name": "text", "type": "text", "primaryKey": false, "notNull": false }, "at": { "name": "at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "events_lead_idx": { "name": "events_lead_idx", "columns": [ { "expression": "lead_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "events_client_idx": { "name": "events_client_idx", "columns": [ { "expression": "client_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "events_company_id_companies_id_fk": { "name": "events_company_id_companies_id_fk", "tableFrom": "events", "tableTo": "companies", "columnsFrom": [ "company_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "events_lead_id_leads_id_fk": { "name": "events_lead_id_leads_id_fk", "tableFrom": "events", "tableTo": "leads", "columnsFrom": [ "lead_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "events_client_id_clients_id_fk": { "name": "events_client_id_clients_id_fk", "tableFrom": "events", "tableTo": "clients", "columnsFrom": [ "client_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "events_user_id_users_id_fk": { "name": "events_user_id_users_id_fk", "tableFrom": "events", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.filters": { "name": "filters", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "company_id": { "name": "company_id", "type": "integer", "primaryKey": false, "notNull": true }, "owner_user_id": { "name": "owner_user_id", "type": "integer", "primaryKey": false, "notNull": false }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "enabled": { "name": "enabled", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "params": { "name": "params", "type": "jsonb", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "filters_company_idx": { "name": "filters_company_idx", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "filters_company_id_companies_id_fk": { "name": "filters_company_id_companies_id_fk", "tableFrom": "filters", "tableTo": "companies", "columnsFrom": [ "company_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "filters_owner_user_id_users_id_fk": { "name": "filters_owner_user_id_users_id_fk", "tableFrom": "filters", "tableTo": "users", "columnsFrom": [ "owner_user_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.invites": { "name": "invites", "schema": "", "columns": { "token": { "name": "token", "type": "text", "primaryKey": true, "notNull": true }, "company_id": { "name": "company_id", "type": "integer", "primaryKey": false, "notNull": true }, "role": { "name": "role", "type": "text", "primaryKey": false, "notNull": true, "default": "'agent'" }, "created_by_id": { "name": "created_by_id", "type": "integer", "primaryKey": false, "notNull": true }, "revoked_at": { "name": "revoked_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": { "invites_company_id_companies_id_fk": { "name": "invites_company_id_companies_id_fk", "tableFrom": "invites", "tableTo": "companies", "columnsFrom": [ "company_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "invites_created_by_id_users_id_fk": { "name": "invites_created_by_id_users_id_fk", "tableFrom": "invites", "tableTo": "users", "columnsFrom": [ "created_by_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.invoices": { "name": "invoices", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "company_id": { "name": "company_id", "type": "integer", "primaryKey": false, "notNull": true }, "kind": { "name": "kind", "type": "text", "primaryKey": false, "notNull": true }, "period_start": { "name": "period_start", "type": "date", "primaryKey": false, "notNull": false }, "period_end": { "name": "period_end", "type": "date", "primaryKey": false, "notNull": false }, "amount": { "name": "amount", "type": "numeric(14, 2)", "primaryKey": false, "notNull": true }, "currency": { "name": "currency", "type": "text", "primaryKey": false, "notNull": true, "default": "'USD'" }, "details": { "name": "details", "type": "jsonb", "primaryKey": false, "notNull": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "default": "'pending'" }, "paid_at": { "name": "paid_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "paid_method": { "name": "paid_method", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "invoices_company_idx": { "name": "invoices_company_idx", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "invoices_company_id_companies_id_fk": { "name": "invoices_company_id_companies_id_fk", "tableFrom": "invoices", "tableTo": "companies", "columnsFrom": [ "company_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.lead_notifications": { "name": "lead_notifications", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "lead_id": { "name": "lead_id", "type": "integer", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true }, "chat_id": { "name": "chat_id", "type": "bigint", "primaryKey": false, "notNull": false }, "message_id": { "name": "message_id", "type": "integer", "primaryKey": false, "notNull": false }, "has_photo": { "name": "has_photo", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "sent_at": { "name": "sent_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "lead_notifications_lead_idx": { "name": "lead_notifications_lead_idx", "columns": [ { "expression": "lead_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "lead_notifications_lead_id_leads_id_fk": { "name": "lead_notifications_lead_id_leads_id_fk", "tableFrom": "lead_notifications", "tableTo": "leads", "columnsFrom": [ "lead_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "lead_notifications_user_id_users_id_fk": { "name": "lead_notifications_user_id_users_id_fk", "tableFrom": "lead_notifications", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.leads": { "name": "leads", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "company_id": { "name": "company_id", "type": "integer", "primaryKey": false, "notNull": true }, "listing_id": { "name": "listing_id", "type": "integer", "primaryKey": false, "notNull": false }, "source": { "name": "source", "type": "text", "primaryKey": false, "notNull": true }, "url": { "name": "url", "type": "text", "primaryKey": false, "notNull": false }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "deal_type": { "name": "deal_type", "type": "text", "primaryKey": false, "notNull": false }, "property_type": { "name": "property_type", "type": "text", "primaryKey": false, "notNull": false }, "region": { "name": "region", "type": "text", "primaryKey": false, "notNull": false }, "district": { "name": "district", "type": "text", "primaryKey": false, "notNull": false }, "address": { "name": "address", "type": "text", "primaryKey": false, "notNull": false }, "price": { "name": "price", "type": "numeric(14, 2)", "primaryKey": false, "notNull": false }, "currency": { "name": "currency", "type": "text", "primaryKey": false, "notNull": false }, "rooms": { "name": "rooms", "type": "integer", "primaryKey": false, "notNull": false }, "area": { "name": "area", "type": "numeric(10, 2)", "primaryKey": false, "notNull": false }, "floor": { "name": "floor", "type": "integer", "primaryKey": false, "notNull": false }, "floors_total": { "name": "floors_total", "type": "integer", "primaryKey": false, "notNull": false }, "photos": { "name": "photos", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'[]'::jsonb" }, "author_name": { "name": "author_name", "type": "text", "primaryKey": false, "notNull": false }, "phone": { "name": "phone", "type": "text", "primaryKey": false, "notNull": false }, "assignee_id": { "name": "assignee_id", "type": "integer", "primaryKey": false, "notNull": false }, "status_id": { "name": "status_id", "type": "integer", "primaryKey": false, "notNull": true }, "reject_reason_id": { "name": "reject_reason_id", "type": "integer", "primaryKey": false, "notNull": false }, "next_action_at": { "name": "next_action_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "next_action_note": { "name": "next_action_note", "type": "text", "primaryKey": false, "notNull": false }, "next_action_notified_at": { "name": "next_action_notified_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "taken_at": { "name": "taken_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "status_changed_at": { "name": "status_changed_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "pool_warned_at": { "name": "pool_warned_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "previous_lead_id": { "name": "previous_lead_id", "type": "integer", "primaryKey": false, "notNull": false }, "created_by_id": { "name": "created_by_id", "type": "integer", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "leads_company_status_idx": { "name": "leads_company_status_idx", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "status_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "leads_company_assignee_idx": { "name": "leads_company_assignee_idx", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "assignee_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "leads_company_listing_uq": { "name": "leads_company_listing_uq", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "listing_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "where": "\"leads\".\"previous_lead_id\" is null and \"leads\".\"listing_id\" is not null", "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "leads_company_id_companies_id_fk": { "name": "leads_company_id_companies_id_fk", "tableFrom": "leads", "tableTo": "companies", "columnsFrom": [ "company_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "leads_listing_id_listings_id_fk": { "name": "leads_listing_id_listings_id_fk", "tableFrom": "leads", "tableTo": "listings", "columnsFrom": [ "listing_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "leads_assignee_id_users_id_fk": { "name": "leads_assignee_id_users_id_fk", "tableFrom": "leads", "tableTo": "users", "columnsFrom": [ "assignee_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "leads_status_id_pipeline_statuses_id_fk": { "name": "leads_status_id_pipeline_statuses_id_fk", "tableFrom": "leads", "tableTo": "pipeline_statuses", "columnsFrom": [ "status_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "leads_reject_reason_id_reject_reasons_id_fk": { "name": "leads_reject_reason_id_reject_reasons_id_fk", "tableFrom": "leads", "tableTo": "reject_reasons", "columnsFrom": [ "reject_reason_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "leads_created_by_id_users_id_fk": { "name": "leads_created_by_id_users_id_fk", "tableFrom": "leads", "tableTo": "users", "columnsFrom": [ "created_by_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.listings": { "name": "listings", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "external_id": { "name": "external_id", "type": "text", "primaryKey": false, "notNull": true }, "url": { "name": "url", "type": "text", "primaryKey": false, "notNull": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "deal_type": { "name": "deal_type", "type": "text", "primaryKey": false, "notNull": false }, "property_type": { "name": "property_type", "type": "text", "primaryKey": false, "notNull": false }, "region": { "name": "region", "type": "text", "primaryKey": false, "notNull": false }, "district": { "name": "district", "type": "text", "primaryKey": false, "notNull": false }, "address": { "name": "address", "type": "text", "primaryKey": false, "notNull": false }, "price": { "name": "price", "type": "numeric(14, 2)", "primaryKey": false, "notNull": false }, "currency": { "name": "currency", "type": "text", "primaryKey": false, "notNull": false }, "rooms": { "name": "rooms", "type": "integer", "primaryKey": false, "notNull": false }, "area": { "name": "area", "type": "numeric(10, 2)", "primaryKey": false, "notNull": false }, "floor": { "name": "floor", "type": "integer", "primaryKey": false, "notNull": false }, "floors_total": { "name": "floors_total", "type": "integer", "primaryKey": false, "notNull": false }, "photos": { "name": "photos", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'[]'::jsonb" }, "author_name": { "name": "author_name", "type": "text", "primaryKey": false, "notNull": false }, "phone": { "name": "phone", "type": "text", "primaryKey": false, "notNull": false }, "is_agency": { "name": "is_agency", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "published_at": { "name": "published_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "active": { "name": "active", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "removed_at": { "name": "removed_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "last_checked_at": { "name": "last_checked_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "listings_external_uq": { "name": "listings_external_uq", "columns": [ { "expression": "external_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "listings_phone_idx": { "name": "listings_phone_idx", "columns": [ { "expression": "phone", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.outbox": { "name": "outbox", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "kind": { "name": "kind", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true }, "lead_id": { "name": "lead_id", "type": "integer", "primaryKey": false, "notNull": false }, "payload": { "name": "payload", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" }, "attempts": { "name": "attempts", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "run_at": { "name": "run_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "done_at": { "name": "done_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "error": { "name": "error", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "outbox_due_idx": { "name": "outbox_due_idx", "columns": [ { "expression": "run_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "where": "\"outbox\".\"done_at\" is null", "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "outbox_user_id_users_id_fk": { "name": "outbox_user_id_users_id_fk", "tableFrom": "outbox", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "outbox_lead_id_leads_id_fk": { "name": "outbox_lead_id_leads_id_fk", "tableFrom": "outbox", "tableTo": "leads", "columnsFrom": [ "lead_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.parser_runs": { "name": "parser_runs", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "started_at": { "name": "started_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "finished_at": { "name": "finished_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "default": "'running'" }, "found_new": { "name": "found_new", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "errors": { "name": "errors", "type": "text", "primaryKey": false, "notNull": false } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.parser_state": { "name": "parser_state", "schema": "", "columns": { "category_id": { "name": "category_id", "type": "integer", "primaryKey": true, "notNull": true }, "baseline_at": { "name": "baseline_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.payments": { "name": "payments", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "invoice_id": { "name": "invoice_id", "type": "integer", "primaryKey": false, "notNull": true }, "provider": { "name": "provider", "type": "text", "primaryKey": false, "notNull": true }, "external_id": { "name": "external_id", "type": "text", "primaryKey": false, "notNull": false }, "amount": { "name": "amount", "type": "numeric(14, 2)", "primaryKey": false, "notNull": true }, "currency": { "name": "currency", "type": "text", "primaryKey": false, "notNull": true }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": { "payments_invoice_id_invoices_id_fk": { "name": "payments_invoice_id_invoices_id_fk", "tableFrom": "payments", "tableTo": "invoices", "columnsFrom": [ "invoice_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.pipeline_statuses": { "name": "pipeline_statuses", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "company_id": { "name": "company_id", "type": "integer", "primaryKey": false, "notNull": true }, "pipeline": { "name": "pipeline", "type": "text", "primaryKey": false, "notNull": true }, "code": { "name": "code", "type": "text", "primaryKey": false, "notNull": false }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "position": { "name": "position", "type": "integer", "primaryKey": false, "notNull": true }, "pool_return": { "name": "pool_return", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "deleted_at": { "name": "deleted_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false } }, "indexes": { "statuses_company_idx": { "name": "statuses_company_idx", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "pipeline", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "pipeline_statuses_company_id_companies_id_fk": { "name": "pipeline_statuses_company_id_companies_id_fk", "tableFrom": "pipeline_statuses", "tableTo": "companies", "columnsFrom": [ "company_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.reject_reasons": { "name": "reject_reasons", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "company_id": { "name": "company_id", "type": "integer", "primaryKey": false, "notNull": true }, "pipeline": { "name": "pipeline", "type": "text", "primaryKey": false, "notNull": true }, "code": { "name": "code", "type": "text", "primaryKey": false, "notNull": false }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "position": { "name": "position", "type": "integer", "primaryKey": false, "notNull": true }, "deleted_at": { "name": "deleted_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false } }, "indexes": {}, "foreignKeys": { "reject_reasons_company_id_companies_id_fk": { "name": "reject_reasons_company_id_companies_id_fk", "tableFrom": "reject_reasons", "tableTo": "companies", "columnsFrom": [ "company_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.seen_listings": { "name": "seen_listings", "schema": "", "columns": { "external_id": { "name": "external_id", "type": "text", "primaryKey": true, "notNull": true }, "seen_at": { "name": "seen_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.sessions": { "name": "sessions", "schema": "", "columns": { "token_hash": { "name": "token_hash", "type": "text", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true }, "acting_company_id": { "name": "acting_company_id", "type": "integer", "primaryKey": false, "notNull": false }, "expires_at": { "name": "expires_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": { "sessions_user_id_users_id_fk": { "name": "sessions_user_id_users_id_fk", "tableFrom": "sessions", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "sessions_acting_company_id_companies_id_fk": { "name": "sessions_acting_company_id_companies_id_fk", "tableFrom": "sessions", "tableTo": "companies", "columnsFrom": [ "acting_company_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.settings": { "name": "settings", "schema": "", "columns": { "key": { "name": "key", "type": "text", "primaryKey": true, "notNull": true }, "value": { "name": "value", "type": "jsonb", "primaryKey": false, "notNull": true }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.users": { "name": "users", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "company_id": { "name": "company_id", "type": "integer", "primaryKey": false, "notNull": false }, "role": { "name": "role", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "telegram_id": { "name": "telegram_id", "type": "bigint", "primaryKey": false, "notNull": false }, "telegram_username": { "name": "telegram_username", "type": "text", "primaryKey": false, "notNull": false }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": false }, "email_verified_at": { "name": "email_verified_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "password_hash": { "name": "password_hash", "type": "text", "primaryKey": false, "notNull": false }, "lang": { "name": "lang", "type": "text", "primaryKey": false, "notNull": true, "default": "'ru'" }, "quiet_from": { "name": "quiet_from", "type": "text", "primaryKey": false, "notNull": false }, "quiet_to": { "name": "quiet_to", "type": "text", "primaryKey": false, "notNull": false }, "notifications_paused": { "name": "notifications_paused", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "telegram_link_token": { "name": "telegram_link_token", "type": "text", "primaryKey": false, "notNull": false }, "removed_at": { "name": "removed_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "users_telegram_uq": { "name": "users_telegram_uq", "columns": [ { "expression": "telegram_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "users_email_uq": { "name": "users_email_uq", "columns": [ { "expression": "lower(\"email\")", "asc": true, "isExpression": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "users_company_idx": { "name": "users_company_idx", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "users_company_id_companies_id_fk": { "name": "users_company_id_companies_id_fk", "tableFrom": "users", "tableTo": "companies", "columnsFrom": [ "company_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false } }, "enums": {}, "schemas": {}, "sequences": {}, "roles": {}, "policies": {}, "views": {}, "_meta": { "columns": {}, "schemas": {}, "tables": {} } }