{ "id": "5a921a0d-f769-4283-a561-a8b659697c01", "prevId": "e298ebd2-f23d-412e-82cf-acf200d31e46", "version": "7", "dialect": "postgresql", "tables": { "public.berth_maintenance_log": { "name": "berth_maintenance_log", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "berth_id": { "name": "berth_id", "type": "text", "primaryKey": false, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "category": { "name": "category", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": true }, "cost": { "name": "cost", "type": "numeric", "primaryKey": false, "notNull": false }, "cost_currency": { "name": "cost_currency", "type": "text", "primaryKey": false, "notNull": false, "default": "'USD'" }, "responsible_party": { "name": "responsible_party", "type": "text", "primaryKey": false, "notNull": false }, "performed_date": { "name": "performed_date", "type": "date", "primaryKey": false, "notNull": true }, "photo_file_ids": { "name": "photo_file_ids", "type": "text[]", "primaryKey": false, "notNull": false }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_bml_berth": { "name": "idx_bml_berth", "columns": [ { "expression": "berth_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_bml_port": { "name": "idx_bml_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "berth_maintenance_log_berth_id_berths_id_fk": { "name": "berth_maintenance_log_berth_id_berths_id_fk", "tableFrom": "berth_maintenance_log", "tableTo": "berths", "columnsFrom": ["berth_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "berth_maintenance_log_port_id_ports_id_fk": { "name": "berth_maintenance_log_port_id_ports_id_fk", "tableFrom": "berth_maintenance_log", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.berth_map_data": { "name": "berth_map_data", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "berth_id": { "name": "berth_id", "type": "text", "primaryKey": false, "notNull": true }, "svg_path": { "name": "svg_path", "type": "text", "primaryKey": false, "notNull": false }, "x": { "name": "x", "type": "numeric", "primaryKey": false, "notNull": false }, "y": { "name": "y", "type": "numeric", "primaryKey": false, "notNull": false }, "transform": { "name": "transform", "type": "text", "primaryKey": false, "notNull": false }, "font_size": { "name": "font_size", "type": "numeric", "primaryKey": false, "notNull": false }, "extra_data": { "name": "extra_data", "type": "jsonb", "primaryKey": false, "notNull": false, "default": "'{}'::jsonb" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "berth_map_data_berth_id_idx": { "name": "berth_map_data_berth_id_idx", "columns": [ { "expression": "berth_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "berth_map_data_berth_id_berths_id_fk": { "name": "berth_map_data_berth_id_berths_id_fk", "tableFrom": "berth_map_data", "tableTo": "berths", "columnsFrom": ["berth_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "berth_map_data_berth_id_unique": { "name": "berth_map_data_berth_id_unique", "nullsNotDistinct": false, "columns": ["berth_id"] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.berth_recommendations": { "name": "berth_recommendations", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "interest_id": { "name": "interest_id", "type": "text", "primaryKey": false, "notNull": true }, "berth_id": { "name": "berth_id", "type": "text", "primaryKey": false, "notNull": true }, "match_score": { "name": "match_score", "type": "numeric", "primaryKey": false, "notNull": false }, "match_reasons": { "name": "match_reasons", "type": "jsonb", "primaryKey": false, "notNull": false }, "source": { "name": "source", "type": "text", "primaryKey": false, "notNull": true, "default": "'ai'" }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "berth_rec_interest_berth_idx": { "name": "berth_rec_interest_berth_idx", "columns": [ { "expression": "interest_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "berth_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "idx_br_interest": { "name": "idx_br_interest", "columns": [ { "expression": "interest_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "berth_recommendations_berth_id_berths_id_fk": { "name": "berth_recommendations_berth_id_berths_id_fk", "tableFrom": "berth_recommendations", "tableTo": "berths", "columnsFrom": ["berth_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.berth_tags": { "name": "berth_tags", "schema": "", "columns": { "berth_id": { "name": "berth_id", "type": "text", "primaryKey": false, "notNull": true }, "tag_id": { "name": "tag_id", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": { "berth_tags_berth_id_berths_id_fk": { "name": "berth_tags_berth_id_berths_id_fk", "tableFrom": "berth_tags", "tableTo": "berths", "columnsFrom": ["berth_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": { "berth_tags_berth_id_tag_id_pk": { "name": "berth_tags_berth_id_tag_id_pk", "columns": ["berth_id", "tag_id"] } }, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.berth_waiting_list": { "name": "berth_waiting_list", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "berth_id": { "name": "berth_id", "type": "text", "primaryKey": false, "notNull": true }, "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": true }, "yacht_id": { "name": "yacht_id", "type": "text", "primaryKey": false, "notNull": false }, "position": { "name": "position", "type": "integer", "primaryKey": false, "notNull": true }, "priority": { "name": "priority", "type": "text", "primaryKey": false, "notNull": true, "default": "'normal'" }, "notify_pref": { "name": "notify_pref", "type": "text", "primaryKey": false, "notNull": false, "default": "'email'" }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "berth_waiting_list_berth_client_idx": { "name": "berth_waiting_list_berth_client_idx", "columns": [ { "expression": "berth_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "client_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "idx_bwl_berth": { "name": "idx_bwl_berth", "columns": [ { "expression": "berth_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "position", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "berth_waiting_list_berth_id_berths_id_fk": { "name": "berth_waiting_list_berth_id_berths_id_fk", "tableFrom": "berth_waiting_list", "tableTo": "berths", "columnsFrom": ["berth_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "berth_waiting_list_client_id_clients_id_fk": { "name": "berth_waiting_list_client_id_clients_id_fk", "tableFrom": "berth_waiting_list", "tableTo": "clients", "columnsFrom": ["client_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.berths": { "name": "berths", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "mooring_number": { "name": "mooring_number", "type": "text", "primaryKey": false, "notNull": true }, "area": { "name": "area", "type": "text", "primaryKey": false, "notNull": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "default": "'available'" }, "length_ft": { "name": "length_ft", "type": "numeric", "primaryKey": false, "notNull": false }, "width_ft": { "name": "width_ft", "type": "numeric", "primaryKey": false, "notNull": false }, "draft_ft": { "name": "draft_ft", "type": "numeric", "primaryKey": false, "notNull": false }, "length_m": { "name": "length_m", "type": "numeric", "primaryKey": false, "notNull": false }, "width_m": { "name": "width_m", "type": "numeric", "primaryKey": false, "notNull": false }, "draft_m": { "name": "draft_m", "type": "numeric", "primaryKey": false, "notNull": false }, "width_is_minimum": { "name": "width_is_minimum", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "nominal_boat_size": { "name": "nominal_boat_size", "type": "text", "primaryKey": false, "notNull": false }, "nominal_boat_size_m": { "name": "nominal_boat_size_m", "type": "text", "primaryKey": false, "notNull": false }, "water_depth": { "name": "water_depth", "type": "numeric", "primaryKey": false, "notNull": false }, "water_depth_m": { "name": "water_depth_m", "type": "numeric", "primaryKey": false, "notNull": false }, "water_depth_is_minimum": { "name": "water_depth_is_minimum", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "side_pontoon": { "name": "side_pontoon", "type": "text", "primaryKey": false, "notNull": false }, "power_capacity": { "name": "power_capacity", "type": "text", "primaryKey": false, "notNull": false }, "voltage": { "name": "voltage", "type": "text", "primaryKey": false, "notNull": false }, "mooring_type": { "name": "mooring_type", "type": "text", "primaryKey": false, "notNull": false }, "cleat_type": { "name": "cleat_type", "type": "text", "primaryKey": false, "notNull": false }, "cleat_capacity": { "name": "cleat_capacity", "type": "text", "primaryKey": false, "notNull": false }, "bollard_type": { "name": "bollard_type", "type": "text", "primaryKey": false, "notNull": false }, "bollard_capacity": { "name": "bollard_capacity", "type": "text", "primaryKey": false, "notNull": false }, "access": { "name": "access", "type": "text", "primaryKey": false, "notNull": false }, "price": { "name": "price", "type": "numeric", "primaryKey": false, "notNull": false }, "price_currency": { "name": "price_currency", "type": "text", "primaryKey": false, "notNull": true, "default": "'USD'" }, "bow_facing": { "name": "bow_facing", "type": "text", "primaryKey": false, "notNull": false }, "berth_approved": { "name": "berth_approved", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "tenure_type": { "name": "tenure_type", "type": "text", "primaryKey": false, "notNull": true, "default": "'permanent'" }, "tenure_years": { "name": "tenure_years", "type": "integer", "primaryKey": false, "notNull": false }, "tenure_start_date": { "name": "tenure_start_date", "type": "date", "primaryKey": false, "notNull": false }, "tenure_end_date": { "name": "tenure_end_date", "type": "date", "primaryKey": false, "notNull": false }, "status_last_changed_by": { "name": "status_last_changed_by", "type": "text", "primaryKey": false, "notNull": false }, "status_last_changed_reason": { "name": "status_last_changed_reason", "type": "text", "primaryKey": false, "notNull": false }, "status_last_modified": { "name": "status_last_modified", "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()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_berths_port": { "name": "idx_berths_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_berths_status": { "name": "idx_berths_status", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "status", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_berths_area": { "name": "idx_berths_area", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "area", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_berths_mooring": { "name": "idx_berths_mooring", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "mooring_number", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "berths_port_id_ports_id_fk": { "name": "berths_port_id_ports_id_fk", "tableFrom": "berths", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.client_addresses": { "name": "client_addresses", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "label": { "name": "label", "type": "text", "primaryKey": false, "notNull": true, "default": "'Primary'" }, "street_address": { "name": "street_address", "type": "text", "primaryKey": false, "notNull": false }, "city": { "name": "city", "type": "text", "primaryKey": false, "notNull": false }, "state_province": { "name": "state_province", "type": "text", "primaryKey": false, "notNull": false }, "postal_code": { "name": "postal_code", "type": "text", "primaryKey": false, "notNull": false }, "country": { "name": "country", "type": "text", "primaryKey": false, "notNull": false }, "is_primary": { "name": "is_primary", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_ca_client": { "name": "idx_ca_client", "columns": [ { "expression": "client_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_ca_port": { "name": "idx_ca_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_ca_primary": { "name": "idx_ca_primary", "columns": [ { "expression": "client_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "where": "\"client_addresses\".\"is_primary\" = true", "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "client_addresses_client_id_clients_id_fk": { "name": "client_addresses_client_id_clients_id_fk", "tableFrom": "client_addresses", "tableTo": "clients", "columnsFrom": ["client_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "client_addresses_port_id_ports_id_fk": { "name": "client_addresses_port_id_ports_id_fk", "tableFrom": "client_addresses", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.client_contacts": { "name": "client_contacts", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": true }, "channel": { "name": "channel", "type": "text", "primaryKey": false, "notNull": true }, "value": { "name": "value", "type": "text", "primaryKey": false, "notNull": true }, "label": { "name": "label", "type": "text", "primaryKey": false, "notNull": false }, "is_primary": { "name": "is_primary", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_cc_client": { "name": "idx_cc_client", "columns": [ { "expression": "client_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_cc_email": { "name": "idx_cc_email", "columns": [ { "expression": "channel", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "value", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "where": "\"client_contacts\".\"channel\" = 'email'", "concurrently": false, "method": "btree", "with": {} }, "idx_cc_phone": { "name": "idx_cc_phone", "columns": [ { "expression": "channel", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "value", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "where": "\"client_contacts\".\"channel\" = 'phone'", "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "client_contacts_client_id_clients_id_fk": { "name": "client_contacts_client_id_clients_id_fk", "tableFrom": "client_contacts", "tableTo": "clients", "columnsFrom": ["client_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.client_merge_log": { "name": "client_merge_log", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "surviving_client_id": { "name": "surviving_client_id", "type": "text", "primaryKey": false, "notNull": true }, "merged_client_id": { "name": "merged_client_id", "type": "text", "primaryKey": false, "notNull": true }, "merged_by": { "name": "merged_by", "type": "text", "primaryKey": false, "notNull": true }, "merge_details": { "name": "merge_details", "type": "jsonb", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_cml_port": { "name": "idx_cml_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "client_merge_log_port_id_ports_id_fk": { "name": "client_merge_log_port_id_ports_id_fk", "tableFrom": "client_merge_log", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "client_merge_log_surviving_client_id_clients_id_fk": { "name": "client_merge_log_surviving_client_id_clients_id_fk", "tableFrom": "client_merge_log", "tableTo": "clients", "columnsFrom": ["surviving_client_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.client_notes": { "name": "client_notes", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": true }, "author_id": { "name": "author_id", "type": "text", "primaryKey": false, "notNull": true }, "content": { "name": "content", "type": "text", "primaryKey": false, "notNull": true }, "mentions": { "name": "mentions", "type": "text[]", "primaryKey": false, "notNull": false }, "is_locked": { "name": "is_locked", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_cn_client": { "name": "idx_cn_client", "columns": [ { "expression": "client_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "client_notes_client_id_clients_id_fk": { "name": "client_notes_client_id_clients_id_fk", "tableFrom": "client_notes", "tableTo": "clients", "columnsFrom": ["client_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.client_relationships": { "name": "client_relationships", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "client_a_id": { "name": "client_a_id", "type": "text", "primaryKey": false, "notNull": true }, "client_b_id": { "name": "client_b_id", "type": "text", "primaryKey": false, "notNull": true }, "relationship_type": { "name": "relationship_type", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_cr_port": { "name": "idx_cr_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "client_relationships_port_id_ports_id_fk": { "name": "client_relationships_port_id_ports_id_fk", "tableFrom": "client_relationships", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "client_relationships_client_a_id_clients_id_fk": { "name": "client_relationships_client_a_id_clients_id_fk", "tableFrom": "client_relationships", "tableTo": "clients", "columnsFrom": ["client_a_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "client_relationships_client_b_id_clients_id_fk": { "name": "client_relationships_client_b_id_clients_id_fk", "tableFrom": "client_relationships", "tableTo": "clients", "columnsFrom": ["client_b_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.client_tags": { "name": "client_tags", "schema": "", "columns": { "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": true }, "tag_id": { "name": "tag_id", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": { "client_tags_client_id_clients_id_fk": { "name": "client_tags_client_id_clients_id_fk", "tableFrom": "client_tags", "tableTo": "clients", "columnsFrom": ["client_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": { "client_tags_client_id_tag_id_pk": { "name": "client_tags_client_id_tag_id_pk", "columns": ["client_id", "tag_id"] } }, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.clients": { "name": "clients", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "full_name": { "name": "full_name", "type": "text", "primaryKey": false, "notNull": true }, "nationality": { "name": "nationality", "type": "text", "primaryKey": false, "notNull": false }, "preferred_contact_method": { "name": "preferred_contact_method", "type": "text", "primaryKey": false, "notNull": false }, "preferred_language": { "name": "preferred_language", "type": "text", "primaryKey": false, "notNull": false }, "timezone": { "name": "timezone", "type": "text", "primaryKey": false, "notNull": false }, "source": { "name": "source", "type": "text", "primaryKey": false, "notNull": false }, "source_details": { "name": "source_details", "type": "text", "primaryKey": false, "notNull": false }, "archived_at": { "name": "archived_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()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_clients_port": { "name": "idx_clients_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_clients_name": { "name": "idx_clients_name", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "full_name", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_clients_archived": { "name": "idx_clients_archived", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "archived_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "clients_port_id_ports_id_fk": { "name": "clients_port_id_ports_id_fk", "tableFrom": "clients", "tableTo": "ports", "columnsFrom": ["port_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": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "legal_name": { "name": "legal_name", "type": "text", "primaryKey": false, "notNull": false }, "tax_id": { "name": "tax_id", "type": "text", "primaryKey": false, "notNull": false }, "registration_number": { "name": "registration_number", "type": "text", "primaryKey": false, "notNull": false }, "incorporation_country": { "name": "incorporation_country", "type": "text", "primaryKey": false, "notNull": false }, "incorporation_date": { "name": "incorporation_date", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "default": "'active'" }, "billing_email": { "name": "billing_email", "type": "text", "primaryKey": false, "notNull": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "archived_at": { "name": "archived_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()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_companies_port": { "name": "idx_companies_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_companies_name_unique": { "name": "idx_companies_name_unique", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "lower(\"name\")", "asc": true, "isExpression": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "idx_companies_taxid": { "name": "idx_companies_taxid", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "tax_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "where": "\"companies\".\"tax_id\" IS NOT NULL", "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "companies_port_id_ports_id_fk": { "name": "companies_port_id_ports_id_fk", "tableFrom": "companies", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.company_addresses": { "name": "company_addresses", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "company_id": { "name": "company_id", "type": "text", "primaryKey": false, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "label": { "name": "label", "type": "text", "primaryKey": false, "notNull": true, "default": "'Primary'" }, "street_address": { "name": "street_address", "type": "text", "primaryKey": false, "notNull": false }, "city": { "name": "city", "type": "text", "primaryKey": false, "notNull": false }, "state_province": { "name": "state_province", "type": "text", "primaryKey": false, "notNull": false }, "postal_code": { "name": "postal_code", "type": "text", "primaryKey": false, "notNull": false }, "country": { "name": "country", "type": "text", "primaryKey": false, "notNull": false }, "is_primary": { "name": "is_primary", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_compa_company": { "name": "idx_compa_company", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_compa_port": { "name": "idx_compa_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_compa_primary": { "name": "idx_compa_primary", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "where": "\"company_addresses\".\"is_primary\" = true", "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "company_addresses_company_id_companies_id_fk": { "name": "company_addresses_company_id_companies_id_fk", "tableFrom": "company_addresses", "tableTo": "companies", "columnsFrom": ["company_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "company_addresses_port_id_ports_id_fk": { "name": "company_addresses_port_id_ports_id_fk", "tableFrom": "company_addresses", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.company_memberships": { "name": "company_memberships", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "company_id": { "name": "company_id", "type": "text", "primaryKey": false, "notNull": true }, "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": true }, "role": { "name": "role", "type": "text", "primaryKey": false, "notNull": true }, "role_detail": { "name": "role_detail", "type": "text", "primaryKey": false, "notNull": false }, "start_date": { "name": "start_date", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "end_date": { "name": "end_date", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "is_primary": { "name": "is_primary", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_cm_company": { "name": "idx_cm_company", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_cm_client": { "name": "idx_cm_client", "columns": [ { "expression": "client_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_cm_active": { "name": "idx_cm_active", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "client_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "where": "\"company_memberships\".\"end_date\" IS NULL", "concurrently": false, "method": "btree", "with": {} }, "unique_cm_exact": { "name": "unique_cm_exact", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "client_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "role", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "start_date", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "company_memberships_company_id_companies_id_fk": { "name": "company_memberships_company_id_companies_id_fk", "tableFrom": "company_memberships", "tableTo": "companies", "columnsFrom": ["company_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "company_memberships_client_id_clients_id_fk": { "name": "company_memberships_client_id_clients_id_fk", "tableFrom": "company_memberships", "tableTo": "clients", "columnsFrom": ["client_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.company_notes": { "name": "company_notes", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "company_id": { "name": "company_id", "type": "text", "primaryKey": false, "notNull": true }, "author_id": { "name": "author_id", "type": "text", "primaryKey": false, "notNull": true }, "content": { "name": "content", "type": "text", "primaryKey": false, "notNull": true }, "mentions": { "name": "mentions", "type": "text[]", "primaryKey": false, "notNull": false }, "is_locked": { "name": "is_locked", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_compn_company": { "name": "idx_compn_company", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "company_notes_company_id_companies_id_fk": { "name": "company_notes_company_id_companies_id_fk", "tableFrom": "company_notes", "tableTo": "companies", "columnsFrom": ["company_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.company_tags": { "name": "company_tags", "schema": "", "columns": { "company_id": { "name": "company_id", "type": "text", "primaryKey": false, "notNull": true }, "tag_id": { "name": "tag_id", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": { "company_tags_company_id_companies_id_fk": { "name": "company_tags_company_id_companies_id_fk", "tableFrom": "company_tags", "tableTo": "companies", "columnsFrom": ["company_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": { "company_tags_company_id_tag_id_pk": { "name": "company_tags_company_id_tag_id_pk", "columns": ["company_id", "tag_id"] } }, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.crm_user_invites": { "name": "crm_user_invites", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": false }, "token_hash": { "name": "token_hash", "type": "text", "primaryKey": false, "notNull": true }, "is_super_admin": { "name": "is_super_admin", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "expires_at": { "name": "expires_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "used_at": { "name": "used_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": { "idx_crm_invites_token_hash": { "name": "idx_crm_invites_token_hash", "columns": [ { "expression": "token_hash", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "idx_crm_invites_email": { "name": "idx_crm_invites_email", "columns": [ { "expression": "email", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.document_events": { "name": "document_events", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "document_id": { "name": "document_id", "type": "text", "primaryKey": false, "notNull": true }, "event_type": { "name": "event_type", "type": "text", "primaryKey": false, "notNull": true }, "signer_id": { "name": "signer_id", "type": "text", "primaryKey": false, "notNull": false }, "event_data": { "name": "event_data", "type": "jsonb", "primaryKey": false, "notNull": false, "default": "'{}'::jsonb" }, "signature_hash": { "name": "signature_hash", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_de_doc": { "name": "idx_de_doc", "columns": [ { "expression": "document_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_de_dedup": { "name": "idx_de_dedup", "columns": [ { "expression": "document_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "signature_hash", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "where": "\"document_events\".\"signature_hash\" IS NOT NULL", "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "document_events_document_id_documents_id_fk": { "name": "document_events_document_id_documents_id_fk", "tableFrom": "document_events", "tableTo": "documents", "columnsFrom": ["document_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "document_events_signer_id_document_signers_id_fk": { "name": "document_events_signer_id_document_signers_id_fk", "tableFrom": "document_events", "tableTo": "document_signers", "columnsFrom": ["signer_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.document_signers": { "name": "document_signers", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "document_id": { "name": "document_id", "type": "text", "primaryKey": false, "notNull": true }, "signer_name": { "name": "signer_name", "type": "text", "primaryKey": false, "notNull": true }, "signer_email": { "name": "signer_email", "type": "text", "primaryKey": false, "notNull": true }, "signer_role": { "name": "signer_role", "type": "text", "primaryKey": false, "notNull": true }, "signing_order": { "name": "signing_order", "type": "integer", "primaryKey": false, "notNull": true }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "default": "'pending'" }, "signed_at": { "name": "signed_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "signing_url": { "name": "signing_url", "type": "text", "primaryKey": false, "notNull": false }, "embedded_url": { "name": "embedded_url", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_ds_doc": { "name": "idx_ds_doc", "columns": [ { "expression": "document_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "document_signers_document_id_documents_id_fk": { "name": "document_signers_document_id_documents_id_fk", "tableFrom": "document_signers", "tableTo": "documents", "columnsFrom": ["document_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.document_templates": { "name": "document_templates", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "template_type": { "name": "template_type", "type": "text", "primaryKey": false, "notNull": true }, "body_html": { "name": "body_html", "type": "text", "primaryKey": false, "notNull": false }, "merge_fields": { "name": "merge_fields", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'[]'::jsonb" }, "template_format": { "name": "template_format", "type": "text", "primaryKey": false, "notNull": true, "default": "'html'" }, "source_file_id": { "name": "source_file_id", "type": "text", "primaryKey": false, "notNull": false }, "documenso_template_id": { "name": "documenso_template_id", "type": "text", "primaryKey": false, "notNull": false }, "field_mapping": { "name": "field_mapping", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" }, "overlay_positions": { "name": "overlay_positions", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'[]'::jsonb" }, "reminder_cadence_days": { "name": "reminder_cadence_days", "type": "integer", "primaryKey": false, "notNull": false }, "is_active": { "name": "is_active", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_dt_port": { "name": "idx_dt_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_dt_type": { "name": "idx_dt_type", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "template_type", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "document_templates_port_id_ports_id_fk": { "name": "document_templates_port_id_ports_id_fk", "tableFrom": "document_templates", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "document_templates_source_file_id_files_id_fk": { "name": "document_templates_source_file_id_files_id_fk", "tableFrom": "document_templates", "tableTo": "files", "columnsFrom": ["source_file_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.document_watchers": { "name": "document_watchers", "schema": "", "columns": { "document_id": { "name": "document_id", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "added_by": { "name": "added_by", "type": "text", "primaryKey": false, "notNull": true }, "added_at": { "name": "added_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_doc_watchers_doc": { "name": "idx_doc_watchers_doc", "columns": [ { "expression": "document_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_doc_watchers_user": { "name": "idx_doc_watchers_user", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "document_watchers_document_id_documents_id_fk": { "name": "document_watchers_document_id_documents_id_fk", "tableFrom": "document_watchers", "tableTo": "documents", "columnsFrom": ["document_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": { "document_watchers_document_id_user_id_pk": { "name": "document_watchers_document_id_user_id_pk", "columns": ["document_id", "user_id"] } }, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.documents": { "name": "documents", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "interest_id": { "name": "interest_id", "type": "text", "primaryKey": false, "notNull": false }, "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": false }, "yacht_id": { "name": "yacht_id", "type": "text", "primaryKey": false, "notNull": false }, "company_id": { "name": "company_id", "type": "text", "primaryKey": false, "notNull": false }, "reservation_id": { "name": "reservation_id", "type": "text", "primaryKey": false, "notNull": false }, "document_type": { "name": "document_type", "type": "text", "primaryKey": false, "notNull": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "default": "'draft'" }, "documenso_id": { "name": "documenso_id", "type": "text", "primaryKey": false, "notNull": false }, "file_id": { "name": "file_id", "type": "text", "primaryKey": false, "notNull": false }, "signed_file_id": { "name": "signed_file_id", "type": "text", "primaryKey": false, "notNull": false }, "is_manual_upload": { "name": "is_manual_upload", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "reminders_disabled": { "name": "reminders_disabled", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "reminder_cadence_override": { "name": "reminder_cadence_override", "type": "integer", "primaryKey": false, "notNull": false }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_docs_port": { "name": "idx_docs_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_docs_interest": { "name": "idx_docs_interest", "columns": [ { "expression": "interest_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_docs_client": { "name": "idx_docs_client", "columns": [ { "expression": "client_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_documents_yacht": { "name": "idx_documents_yacht", "columns": [ { "expression": "yacht_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_documents_company": { "name": "idx_documents_company", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_docs_reservation": { "name": "idx_docs_reservation", "columns": [ { "expression": "reservation_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_docs_type": { "name": "idx_docs_type", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "document_type", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_docs_status_port": { "name": "idx_docs_status_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "status", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "documents_port_id_ports_id_fk": { "name": "documents_port_id_ports_id_fk", "tableFrom": "documents", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "documents_client_id_clients_id_fk": { "name": "documents_client_id_clients_id_fk", "tableFrom": "documents", "tableTo": "clients", "columnsFrom": ["client_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "documents_file_id_files_id_fk": { "name": "documents_file_id_files_id_fk", "tableFrom": "documents", "tableTo": "files", "columnsFrom": ["file_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "documents_signed_file_id_files_id_fk": { "name": "documents_signed_file_id_files_id_fk", "tableFrom": "documents", "tableTo": "files", "columnsFrom": ["signed_file_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.files": { "name": "files", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": false }, "yacht_id": { "name": "yacht_id", "type": "text", "primaryKey": false, "notNull": false }, "company_id": { "name": "company_id", "type": "text", "primaryKey": false, "notNull": false }, "filename": { "name": "filename", "type": "text", "primaryKey": false, "notNull": true }, "original_name": { "name": "original_name", "type": "text", "primaryKey": false, "notNull": true }, "mime_type": { "name": "mime_type", "type": "text", "primaryKey": false, "notNull": false }, "size_bytes": { "name": "size_bytes", "type": "text", "primaryKey": false, "notNull": false }, "storage_path": { "name": "storage_path", "type": "text", "primaryKey": false, "notNull": true }, "storage_bucket": { "name": "storage_bucket", "type": "text", "primaryKey": false, "notNull": true, "default": "'crm-files'" }, "category": { "name": "category", "type": "text", "primaryKey": false, "notNull": false }, "uploaded_by": { "name": "uploaded_by", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_files_port": { "name": "idx_files_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_files_client": { "name": "idx_files_client", "columns": [ { "expression": "client_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_files_yacht": { "name": "idx_files_yacht", "columns": [ { "expression": "yacht_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_files_company": { "name": "idx_files_company", "columns": [ { "expression": "company_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "files_port_id_ports_id_fk": { "name": "files_port_id_ports_id_fk", "tableFrom": "files", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "files_client_id_clients_id_fk": { "name": "files_client_id_clients_id_fk", "tableFrom": "files", "tableTo": "clients", "columnsFrom": ["client_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.form_submissions": { "name": "form_submissions", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "form_template_id": { "name": "form_template_id", "type": "text", "primaryKey": false, "notNull": true }, "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": false }, "interest_id": { "name": "interest_id", "type": "text", "primaryKey": false, "notNull": false }, "token": { "name": "token", "type": "text", "primaryKey": false, "notNull": true }, "prefilled_data": { "name": "prefilled_data", "type": "jsonb", "primaryKey": false, "notNull": false, "default": "'{}'::jsonb" }, "submitted_data": { "name": "submitted_data", "type": "jsonb", "primaryKey": false, "notNull": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "default": "'pending'" }, "expires_at": { "name": "expires_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "submitted_at": { "name": "submitted_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": { "idx_fs_token": { "name": "idx_fs_token", "columns": [ { "expression": "token", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "form_submissions_form_template_id_form_templates_id_fk": { "name": "form_submissions_form_template_id_form_templates_id_fk", "tableFrom": "form_submissions", "tableTo": "form_templates", "columnsFrom": ["form_template_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "form_submissions_client_id_clients_id_fk": { "name": "form_submissions_client_id_clients_id_fk", "tableFrom": "form_submissions", "tableTo": "clients", "columnsFrom": ["client_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "form_submissions_token_unique": { "name": "form_submissions_token_unique", "nullsNotDistinct": false, "columns": ["token"] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.form_templates": { "name": "form_templates", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "fields": { "name": "fields", "type": "jsonb", "primaryKey": false, "notNull": true }, "branding": { "name": "branding", "type": "jsonb", "primaryKey": false, "notNull": false, "default": "'{}'::jsonb" }, "is_active": { "name": "is_active", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_ft_port": { "name": "idx_ft_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "form_templates_port_id_ports_id_fk": { "name": "form_templates_port_id_ports_id_fk", "tableFrom": "form_templates", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.email_accounts": { "name": "email_accounts", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "provider": { "name": "provider", "type": "text", "primaryKey": false, "notNull": true }, "email_address": { "name": "email_address", "type": "text", "primaryKey": false, "notNull": true }, "smtp_host": { "name": "smtp_host", "type": "text", "primaryKey": false, "notNull": true }, "smtp_port": { "name": "smtp_port", "type": "integer", "primaryKey": false, "notNull": true }, "imap_host": { "name": "imap_host", "type": "text", "primaryKey": false, "notNull": true }, "imap_port": { "name": "imap_port", "type": "integer", "primaryKey": false, "notNull": true }, "credentials_enc": { "name": "credentials_enc", "type": "text", "primaryKey": false, "notNull": true }, "is_active": { "name": "is_active", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "last_sync_at": { "name": "last_sync_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()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_ea_user": { "name": "idx_ea_user", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_ea_port": { "name": "idx_ea_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "email_accounts_port_id_ports_id_fk": { "name": "email_accounts_port_id_ports_id_fk", "tableFrom": "email_accounts", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.email_messages": { "name": "email_messages", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "thread_id": { "name": "thread_id", "type": "text", "primaryKey": false, "notNull": true }, "message_id_header": { "name": "message_id_header", "type": "text", "primaryKey": false, "notNull": false }, "from_address": { "name": "from_address", "type": "text", "primaryKey": false, "notNull": true }, "to_addresses": { "name": "to_addresses", "type": "text[]", "primaryKey": false, "notNull": true }, "cc_addresses": { "name": "cc_addresses", "type": "text[]", "primaryKey": false, "notNull": false }, "subject": { "name": "subject", "type": "text", "primaryKey": false, "notNull": false }, "body_text": { "name": "body_text", "type": "text", "primaryKey": false, "notNull": false }, "body_html": { "name": "body_html", "type": "text", "primaryKey": false, "notNull": false }, "direction": { "name": "direction", "type": "text", "primaryKey": false, "notNull": true }, "sent_at": { "name": "sent_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "attachment_file_ids": { "name": "attachment_file_ids", "type": "text[]", "primaryKey": false, "notNull": false }, "raw_file_id": { "name": "raw_file_id", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_em_thread": { "name": "idx_em_thread", "columns": [ { "expression": "thread_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_em_message_id": { "name": "idx_em_message_id", "columns": [ { "expression": "message_id_header", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "where": "\"email_messages\".\"message_id_header\" IS NOT NULL", "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "email_messages_thread_id_email_threads_id_fk": { "name": "email_messages_thread_id_email_threads_id_fk", "tableFrom": "email_messages", "tableTo": "email_threads", "columnsFrom": ["thread_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "email_messages_raw_file_id_files_id_fk": { "name": "email_messages_raw_file_id_files_id_fk", "tableFrom": "email_messages", "tableTo": "files", "columnsFrom": ["raw_file_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.email_threads": { "name": "email_threads", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": false }, "subject": { "name": "subject", "type": "text", "primaryKey": false, "notNull": false }, "last_message_at": { "name": "last_message_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "message_count": { "name": "message_count", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_et_client": { "name": "idx_et_client", "columns": [ { "expression": "client_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_et_port": { "name": "idx_et_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "email_threads_port_id_ports_id_fk": { "name": "email_threads_port_id_ports_id_fk", "tableFrom": "email_threads", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "email_threads_client_id_clients_id_fk": { "name": "email_threads_client_id_clients_id_fk", "tableFrom": "email_threads", "tableTo": "clients", "columnsFrom": ["client_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.expenses": { "name": "expenses", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "establishment_name": { "name": "establishment_name", "type": "text", "primaryKey": false, "notNull": false }, "amount": { "name": "amount", "type": "numeric", "primaryKey": false, "notNull": true }, "currency": { "name": "currency", "type": "text", "primaryKey": false, "notNull": true, "default": "'USD'" }, "amount_usd": { "name": "amount_usd", "type": "numeric", "primaryKey": false, "notNull": false }, "exchange_rate": { "name": "exchange_rate", "type": "numeric", "primaryKey": false, "notNull": false }, "payment_method": { "name": "payment_method", "type": "text", "primaryKey": false, "notNull": false }, "category": { "name": "category", "type": "text", "primaryKey": false, "notNull": false }, "payer": { "name": "payer", "type": "text", "primaryKey": false, "notNull": false }, "expense_date": { "name": "expense_date", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "receipt_file_ids": { "name": "receipt_file_ids", "type": "text[]", "primaryKey": false, "notNull": false }, "payment_status": { "name": "payment_status", "type": "text", "primaryKey": false, "notNull": false, "default": "'unpaid'" }, "payment_date": { "name": "payment_date", "type": "date", "primaryKey": false, "notNull": false }, "payment_reference": { "name": "payment_reference", "type": "text", "primaryKey": false, "notNull": false }, "payment_notes": { "name": "payment_notes", "type": "text", "primaryKey": false, "notNull": false }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "archived_at": { "name": "archived_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()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_expenses_port": { "name": "idx_expenses_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_expenses_date": { "name": "idx_expenses_date", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "expense_date", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_expenses_category": { "name": "idx_expenses_category", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "category", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "expenses_port_id_ports_id_fk": { "name": "expenses_port_id_ports_id_fk", "tableFrom": "expenses", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.invoice_expenses": { "name": "invoice_expenses", "schema": "", "columns": { "invoice_id": { "name": "invoice_id", "type": "text", "primaryKey": false, "notNull": true }, "expense_id": { "name": "expense_id", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": { "invoice_expenses_invoice_id_invoices_id_fk": { "name": "invoice_expenses_invoice_id_invoices_id_fk", "tableFrom": "invoice_expenses", "tableTo": "invoices", "columnsFrom": ["invoice_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "invoice_expenses_expense_id_expenses_id_fk": { "name": "invoice_expenses_expense_id_expenses_id_fk", "tableFrom": "invoice_expenses", "tableTo": "expenses", "columnsFrom": ["expense_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": { "invoice_expenses_invoice_id_expense_id_pk": { "name": "invoice_expenses_invoice_id_expense_id_pk", "columns": ["invoice_id", "expense_id"] } }, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.invoice_line_items": { "name": "invoice_line_items", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "invoice_id": { "name": "invoice_id", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": true }, "quantity": { "name": "quantity", "type": "numeric", "primaryKey": false, "notNull": true, "default": "'1'" }, "unit_price": { "name": "unit_price", "type": "numeric", "primaryKey": false, "notNull": true }, "total": { "name": "total", "type": "numeric", "primaryKey": false, "notNull": true }, "sort_order": { "name": "sort_order", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_ili_invoice": { "name": "idx_ili_invoice", "columns": [ { "expression": "invoice_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "invoice_line_items_invoice_id_invoices_id_fk": { "name": "invoice_line_items_invoice_id_invoices_id_fk", "tableFrom": "invoice_line_items", "tableTo": "invoices", "columnsFrom": ["invoice_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.invoices": { "name": "invoices", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "invoice_number": { "name": "invoice_number", "type": "text", "primaryKey": false, "notNull": true }, "client_name": { "name": "client_name", "type": "text", "primaryKey": false, "notNull": true }, "billing_entity_type": { "name": "billing_entity_type", "type": "text", "primaryKey": false, "notNull": true, "default": "'client'" }, "billing_entity_id": { "name": "billing_entity_id", "type": "text", "primaryKey": false, "notNull": true, "default": "''" }, "billing_email": { "name": "billing_email", "type": "text", "primaryKey": false, "notNull": false }, "billing_address": { "name": "billing_address", "type": "text", "primaryKey": false, "notNull": false }, "due_date": { "name": "due_date", "type": "date", "primaryKey": false, "notNull": true }, "payment_terms": { "name": "payment_terms", "type": "text", "primaryKey": false, "notNull": true, "default": "'net30'" }, "currency": { "name": "currency", "type": "text", "primaryKey": false, "notNull": true, "default": "'USD'" }, "subtotal": { "name": "subtotal", "type": "numeric", "primaryKey": false, "notNull": true }, "discount_pct": { "name": "discount_pct", "type": "numeric", "primaryKey": false, "notNull": false, "default": "'0'" }, "discount_amount": { "name": "discount_amount", "type": "numeric", "primaryKey": false, "notNull": false, "default": "'0'" }, "fee_pct": { "name": "fee_pct", "type": "numeric", "primaryKey": false, "notNull": false, "default": "'0'" }, "fee_amount": { "name": "fee_amount", "type": "numeric", "primaryKey": false, "notNull": false, "default": "'0'" }, "total": { "name": "total", "type": "numeric", "primaryKey": false, "notNull": true }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "default": "'draft'" }, "payment_status": { "name": "payment_status", "type": "text", "primaryKey": false, "notNull": false, "default": "'unpaid'" }, "payment_date": { "name": "payment_date", "type": "date", "primaryKey": false, "notNull": false }, "payment_method": { "name": "payment_method", "type": "text", "primaryKey": false, "notNull": false }, "payment_reference": { "name": "payment_reference", "type": "text", "primaryKey": false, "notNull": false }, "pdf_file_id": { "name": "pdf_file_id", "type": "text", "primaryKey": false, "notNull": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "archived_at": { "name": "archived_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()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_invoices_number": { "name": "idx_invoices_number", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "invoice_number", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "idx_invoices_port": { "name": "idx_invoices_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_invoices_status": { "name": "idx_invoices_status", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "status", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_invoices_billing_entity": { "name": "idx_invoices_billing_entity", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "billing_entity_type", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "billing_entity_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "invoices_port_id_ports_id_fk": { "name": "invoices_port_id_ports_id_fk", "tableFrom": "invoices", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "invoices_pdf_file_id_files_id_fk": { "name": "invoices_pdf_file_id_files_id_fk", "tableFrom": "invoices", "tableTo": "files", "columnsFrom": ["pdf_file_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.ports": { "name": "ports", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "slug": { "name": "slug", "type": "text", "primaryKey": false, "notNull": true }, "logo_url": { "name": "logo_url", "type": "text", "primaryKey": false, "notNull": false }, "primary_color": { "name": "primary_color", "type": "text", "primaryKey": false, "notNull": false }, "default_currency": { "name": "default_currency", "type": "text", "primaryKey": false, "notNull": true, "default": "'USD'" }, "timezone": { "name": "timezone", "type": "text", "primaryKey": false, "notNull": true, "default": "'America/Anguilla'" }, "settings": { "name": "settings", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" }, "is_active": { "name": "is_active", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "ports_slug_idx": { "name": "ports_slug_idx", "columns": [ { "expression": "slug", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.account": { "name": "account", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "account_id": { "name": "account_id", "type": "text", "primaryKey": false, "notNull": true }, "provider_id": { "name": "provider_id", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "access_token": { "name": "access_token", "type": "text", "primaryKey": false, "notNull": false }, "refresh_token": { "name": "refresh_token", "type": "text", "primaryKey": false, "notNull": false }, "id_token": { "name": "id_token", "type": "text", "primaryKey": false, "notNull": false }, "access_token_expires_at": { "name": "access_token_expires_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "refresh_token_expires_at": { "name": "refresh_token_expires_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "scope": { "name": "scope", "type": "text", "primaryKey": false, "notNull": false }, "password": { "name": "password", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": { "account_user_id_user_id_fk": { "name": "account_user_id_user_id_fk", "tableFrom": "account", "tableTo": "user", "columnsFrom": ["user_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.port_role_overrides": { "name": "port_role_overrides", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "role_id": { "name": "role_id", "type": "text", "primaryKey": false, "notNull": true }, "permission_overrides": { "name": "permission_overrides", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "port_role_overrides_port_role_idx": { "name": "port_role_overrides_port_role_idx", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "role_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "port_role_overrides_port_idx": { "name": "port_role_overrides_port_idx", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "port_role_overrides_port_id_ports_id_fk": { "name": "port_role_overrides_port_id_ports_id_fk", "tableFrom": "port_role_overrides", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "port_role_overrides_role_id_roles_id_fk": { "name": "port_role_overrides_role_id_roles_id_fk", "tableFrom": "port_role_overrides", "tableTo": "roles", "columnsFrom": ["role_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.roles": { "name": "roles", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "permissions": { "name": "permissions", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" }, "is_global": { "name": "is_global", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "is_system": { "name": "is_system", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "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.session": { "name": "session", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "token": { "name": "token", "type": "text", "primaryKey": false, "notNull": true }, "expires_at": { "name": "expires_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "ip_address": { "name": "ip_address", "type": "text", "primaryKey": false, "notNull": false }, "user_agent": { "name": "user_agent", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "sessions_token_idx": { "name": "sessions_token_idx", "columns": [ { "expression": "token", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "sessions_user_id_idx": { "name": "sessions_user_id_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "session_token_unique": { "name": "session_token_unique", "nullsNotDistinct": false, "columns": ["token"] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user": { "name": "user", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": true }, "email_verified": { "name": "email_verified", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "image": { "name": "image", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "user_email_unique": { "name": "user_email_unique", "nullsNotDistinct": false, "columns": ["email"] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user_port_roles": { "name": "user_port_roles", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "role_id": { "name": "role_id", "type": "text", "primaryKey": false, "notNull": true }, "residential_access": { "name": "residential_access", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "assigned_by": { "name": "assigned_by", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "user_port_roles_user_port_role_idx": { "name": "user_port_roles_user_port_role_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "role_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "idx_upr_user": { "name": "idx_upr_user", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_upr_port": { "name": "idx_upr_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "user_port_roles_port_id_ports_id_fk": { "name": "user_port_roles_port_id_ports_id_fk", "tableFrom": "user_port_roles", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "user_port_roles_role_id_roles_id_fk": { "name": "user_port_roles_role_id_roles_id_fk", "tableFrom": "user_port_roles", "tableTo": "roles", "columnsFrom": ["role_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user_profiles": { "name": "user_profiles", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "display_name": { "name": "display_name", "type": "text", "primaryKey": false, "notNull": true }, "avatar_url": { "name": "avatar_url", "type": "text", "primaryKey": false, "notNull": false }, "phone": { "name": "phone", "type": "text", "primaryKey": false, "notNull": false }, "is_super_admin": { "name": "is_super_admin", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "is_active": { "name": "is_active", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "last_login_at": { "name": "last_login_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "preferences": { "name": "preferences", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "user_profiles_user_id_idx": { "name": "user_profiles_user_id_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "user_profiles_user_id_unique": { "name": "user_profiles_user_id_unique", "nullsNotDistinct": false, "columns": ["user_id"] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.verification": { "name": "verification", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "identifier": { "name": "identifier", "type": "text", "primaryKey": false, "notNull": true }, "value": { "name": "value", "type": "text", "primaryKey": false, "notNull": true }, "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": false }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.yacht_notes": { "name": "yacht_notes", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "yacht_id": { "name": "yacht_id", "type": "text", "primaryKey": false, "notNull": true }, "author_id": { "name": "author_id", "type": "text", "primaryKey": false, "notNull": true }, "content": { "name": "content", "type": "text", "primaryKey": false, "notNull": true }, "mentions": { "name": "mentions", "type": "text[]", "primaryKey": false, "notNull": false }, "is_locked": { "name": "is_locked", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_yn_yacht": { "name": "idx_yn_yacht", "columns": [ { "expression": "yacht_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "yacht_notes_yacht_id_yachts_id_fk": { "name": "yacht_notes_yacht_id_yachts_id_fk", "tableFrom": "yacht_notes", "tableTo": "yachts", "columnsFrom": ["yacht_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.yacht_ownership_history": { "name": "yacht_ownership_history", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "yacht_id": { "name": "yacht_id", "type": "text", "primaryKey": false, "notNull": true }, "owner_type": { "name": "owner_type", "type": "text", "primaryKey": false, "notNull": true }, "owner_id": { "name": "owner_id", "type": "text", "primaryKey": false, "notNull": true }, "start_date": { "name": "start_date", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "end_date": { "name": "end_date", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "transfer_reason": { "name": "transfer_reason", "type": "text", "primaryKey": false, "notNull": false }, "transfer_notes": { "name": "transfer_notes", "type": "text", "primaryKey": false, "notNull": false }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_yoh_yacht": { "name": "idx_yoh_yacht", "columns": [ { "expression": "yacht_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_yoh_active": { "name": "idx_yoh_active", "columns": [ { "expression": "yacht_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "where": "\"yacht_ownership_history\".\"end_date\" IS NULL", "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "yacht_ownership_history_yacht_id_yachts_id_fk": { "name": "yacht_ownership_history_yacht_id_yachts_id_fk", "tableFrom": "yacht_ownership_history", "tableTo": "yachts", "columnsFrom": ["yacht_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.yacht_tags": { "name": "yacht_tags", "schema": "", "columns": { "yacht_id": { "name": "yacht_id", "type": "text", "primaryKey": false, "notNull": true }, "tag_id": { "name": "tag_id", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": { "yacht_tags_yacht_id_yachts_id_fk": { "name": "yacht_tags_yacht_id_yachts_id_fk", "tableFrom": "yacht_tags", "tableTo": "yachts", "columnsFrom": ["yacht_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": { "yacht_tags_yacht_id_tag_id_pk": { "name": "yacht_tags_yacht_id_tag_id_pk", "columns": ["yacht_id", "tag_id"] } }, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.yachts": { "name": "yachts", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "hull_number": { "name": "hull_number", "type": "text", "primaryKey": false, "notNull": false }, "registration": { "name": "registration", "type": "text", "primaryKey": false, "notNull": false }, "flag": { "name": "flag", "type": "text", "primaryKey": false, "notNull": false }, "year_built": { "name": "year_built", "type": "integer", "primaryKey": false, "notNull": false }, "builder": { "name": "builder", "type": "text", "primaryKey": false, "notNull": false }, "model": { "name": "model", "type": "text", "primaryKey": false, "notNull": false }, "hull_material": { "name": "hull_material", "type": "text", "primaryKey": false, "notNull": false }, "length_ft": { "name": "length_ft", "type": "numeric", "primaryKey": false, "notNull": false }, "width_ft": { "name": "width_ft", "type": "numeric", "primaryKey": false, "notNull": false }, "draft_ft": { "name": "draft_ft", "type": "numeric", "primaryKey": false, "notNull": false }, "length_m": { "name": "length_m", "type": "numeric", "primaryKey": false, "notNull": false }, "width_m": { "name": "width_m", "type": "numeric", "primaryKey": false, "notNull": false }, "draft_m": { "name": "draft_m", "type": "numeric", "primaryKey": false, "notNull": false }, "current_owner_type": { "name": "current_owner_type", "type": "text", "primaryKey": false, "notNull": true }, "current_owner_id": { "name": "current_owner_id", "type": "text", "primaryKey": false, "notNull": true }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "default": "'active'" }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "archived_at": { "name": "archived_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()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_yachts_port": { "name": "idx_yachts_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_yachts_current_owner": { "name": "idx_yachts_current_owner", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "current_owner_type", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "current_owner_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_yachts_name": { "name": "idx_yachts_name", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "name", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_yachts_archived": { "name": "idx_yachts_archived", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "archived_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "yachts_port_id_ports_id_fk": { "name": "yachts_port_id_ports_id_fk", "tableFrom": "yachts", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.interest_notes": { "name": "interest_notes", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "interest_id": { "name": "interest_id", "type": "text", "primaryKey": false, "notNull": true }, "author_id": { "name": "author_id", "type": "text", "primaryKey": false, "notNull": true }, "content": { "name": "content", "type": "text", "primaryKey": false, "notNull": true }, "mentions": { "name": "mentions", "type": "text[]", "primaryKey": false, "notNull": false }, "is_locked": { "name": "is_locked", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_in_interest": { "name": "idx_in_interest", "columns": [ { "expression": "interest_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "interest_notes_interest_id_interests_id_fk": { "name": "interest_notes_interest_id_interests_id_fk", "tableFrom": "interest_notes", "tableTo": "interests", "columnsFrom": ["interest_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.interest_tags": { "name": "interest_tags", "schema": "", "columns": { "interest_id": { "name": "interest_id", "type": "text", "primaryKey": false, "notNull": true }, "tag_id": { "name": "tag_id", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": { "interest_tags_interest_id_interests_id_fk": { "name": "interest_tags_interest_id_interests_id_fk", "tableFrom": "interest_tags", "tableTo": "interests", "columnsFrom": ["interest_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": { "interest_tags_interest_id_tag_id_pk": { "name": "interest_tags_interest_id_tag_id_pk", "columns": ["interest_id", "tag_id"] } }, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.interests": { "name": "interests", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": true }, "berth_id": { "name": "berth_id", "type": "text", "primaryKey": false, "notNull": false }, "yacht_id": { "name": "yacht_id", "type": "text", "primaryKey": false, "notNull": false }, "pipeline_stage": { "name": "pipeline_stage", "type": "text", "primaryKey": false, "notNull": true, "default": "'open'" }, "lead_category": { "name": "lead_category", "type": "text", "primaryKey": false, "notNull": false }, "source": { "name": "source", "type": "text", "primaryKey": false, "notNull": false }, "eoi_status": { "name": "eoi_status", "type": "text", "primaryKey": false, "notNull": false }, "documenso_id": { "name": "documenso_id", "type": "text", "primaryKey": false, "notNull": false }, "contract_status": { "name": "contract_status", "type": "text", "primaryKey": false, "notNull": false }, "deposit_status": { "name": "deposit_status", "type": "text", "primaryKey": false, "notNull": false }, "reservation_status": { "name": "reservation_status", "type": "text", "primaryKey": false, "notNull": false }, "date_first_contact": { "name": "date_first_contact", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "date_last_contact": { "name": "date_last_contact", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "date_eoi_sent": { "name": "date_eoi_sent", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "date_eoi_signed": { "name": "date_eoi_signed", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "date_contract_sent": { "name": "date_contract_sent", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "date_contract_signed": { "name": "date_contract_signed", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "date_deposit_received": { "name": "date_deposit_received", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "reminder_enabled": { "name": "reminder_enabled", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "reminder_days": { "name": "reminder_days", "type": "integer", "primaryKey": false, "notNull": false }, "reminder_last_fired": { "name": "reminder_last_fired", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "archived_at": { "name": "archived_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()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_interests_port": { "name": "idx_interests_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_interests_client": { "name": "idx_interests_client", "columns": [ { "expression": "client_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_interests_berth": { "name": "idx_interests_berth", "columns": [ { "expression": "berth_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_interests_yacht": { "name": "idx_interests_yacht", "columns": [ { "expression": "yacht_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_interests_stage": { "name": "idx_interests_stage", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "pipeline_stage", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_interests_archived": { "name": "idx_interests_archived", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "archived_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "interests_port_id_ports_id_fk": { "name": "interests_port_id_ports_id_fk", "tableFrom": "interests", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "interests_client_id_clients_id_fk": { "name": "interests_client_id_clients_id_fk", "tableFrom": "interests", "tableTo": "clients", "columnsFrom": ["client_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.berth_reservations": { "name": "berth_reservations", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "berth_id": { "name": "berth_id", "type": "text", "primaryKey": false, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": true }, "yacht_id": { "name": "yacht_id", "type": "text", "primaryKey": false, "notNull": true }, "interest_id": { "name": "interest_id", "type": "text", "primaryKey": false, "notNull": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true }, "start_date": { "name": "start_date", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "end_date": { "name": "end_date", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "tenure_type": { "name": "tenure_type", "type": "text", "primaryKey": false, "notNull": true, "default": "'permanent'" }, "contract_file_id": { "name": "contract_file_id", "type": "text", "primaryKey": false, "notNull": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_br_berth": { "name": "idx_br_berth", "columns": [ { "expression": "berth_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_br_client": { "name": "idx_br_client", "columns": [ { "expression": "client_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_br_yacht": { "name": "idx_br_yacht", "columns": [ { "expression": "yacht_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_br_port": { "name": "idx_br_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_br_active": { "name": "idx_br_active", "columns": [ { "expression": "berth_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "where": "\"berth_reservations\".\"status\" = 'active'", "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "berth_reservations_berth_id_berths_id_fk": { "name": "berth_reservations_berth_id_berths_id_fk", "tableFrom": "berth_reservations", "tableTo": "berths", "columnsFrom": ["berth_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "berth_reservations_port_id_ports_id_fk": { "name": "berth_reservations_port_id_ports_id_fk", "tableFrom": "berth_reservations", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "berth_reservations_client_id_clients_id_fk": { "name": "berth_reservations_client_id_clients_id_fk", "tableFrom": "berth_reservations", "tableTo": "clients", "columnsFrom": ["client_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "berth_reservations_yacht_id_yachts_id_fk": { "name": "berth_reservations_yacht_id_yachts_id_fk", "tableFrom": "berth_reservations", "tableTo": "yachts", "columnsFrom": ["yacht_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "berth_reservations_interest_id_interests_id_fk": { "name": "berth_reservations_interest_id_interests_id_fk", "tableFrom": "berth_reservations", "tableTo": "interests", "columnsFrom": ["interest_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "berth_reservations_contract_file_id_files_id_fk": { "name": "berth_reservations_contract_file_id_files_id_fk", "tableFrom": "berth_reservations", "tableTo": "files", "columnsFrom": ["contract_file_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.portal_auth_tokens": { "name": "portal_auth_tokens", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "portal_user_id": { "name": "portal_user_id", "type": "text", "primaryKey": false, "notNull": true }, "token_hash": { "name": "token_hash", "type": "text", "primaryKey": false, "notNull": true }, "type": { "name": "type", "type": "text", "primaryKey": false, "notNull": true }, "expires_at": { "name": "expires_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "used_at": { "name": "used_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": { "idx_portal_tokens_hash_unique": { "name": "idx_portal_tokens_hash_unique", "columns": [ { "expression": "token_hash", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "idx_portal_tokens_user": { "name": "idx_portal_tokens_user", "columns": [ { "expression": "portal_user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "portal_auth_tokens_portal_user_id_portal_users_id_fk": { "name": "portal_auth_tokens_portal_user_id_portal_users_id_fk", "tableFrom": "portal_auth_tokens", "tableTo": "portal_users", "columnsFrom": ["portal_user_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.portal_users": { "name": "portal_users", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": true }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": true }, "password_hash": { "name": "password_hash", "type": "text", "primaryKey": false, "notNull": false }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": false }, "is_active": { "name": "is_active", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "last_login_at": { "name": "last_login_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_portal_users_email_unique": { "name": "idx_portal_users_email_unique", "columns": [ { "expression": "email", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "idx_portal_users_client": { "name": "idx_portal_users_client", "columns": [ { "expression": "client_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_portal_users_port": { "name": "idx_portal_users_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "portal_users_port_id_ports_id_fk": { "name": "portal_users_port_id_ports_id_fk", "tableFrom": "portal_users", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "portal_users_client_id_clients_id_fk": { "name": "portal_users_client_id_clients_id_fk", "tableFrom": "portal_users", "tableTo": "clients", "columnsFrom": ["client_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.residential_clients": { "name": "residential_clients", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "full_name": { "name": "full_name", "type": "text", "primaryKey": false, "notNull": true }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": false }, "phone": { "name": "phone", "type": "text", "primaryKey": false, "notNull": false }, "place_of_residence": { "name": "place_of_residence", "type": "text", "primaryKey": false, "notNull": false }, "preferred_contact_method": { "name": "preferred_contact_method", "type": "text", "primaryKey": false, "notNull": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "default": "'prospect'" }, "source": { "name": "source", "type": "text", "primaryKey": false, "notNull": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "archived_at": { "name": "archived_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()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_residential_clients_port": { "name": "idx_residential_clients_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_residential_clients_email": { "name": "idx_residential_clients_email", "columns": [ { "expression": "email", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_residential_clients_archived": { "name": "idx_residential_clients_archived", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "archived_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "residential_clients_port_id_ports_id_fk": { "name": "residential_clients_port_id_ports_id_fk", "tableFrom": "residential_clients", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.residential_interests": { "name": "residential_interests", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "residential_client_id": { "name": "residential_client_id", "type": "text", "primaryKey": false, "notNull": true }, "pipeline_stage": { "name": "pipeline_stage", "type": "text", "primaryKey": false, "notNull": true, "default": "'new'" }, "source": { "name": "source", "type": "text", "primaryKey": false, "notNull": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "preferences": { "name": "preferences", "type": "text", "primaryKey": false, "notNull": false }, "assigned_to": { "name": "assigned_to", "type": "text", "primaryKey": false, "notNull": false }, "date_first_contact": { "name": "date_first_contact", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "date_last_contact": { "name": "date_last_contact", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "archived_at": { "name": "archived_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()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_residential_interests_port": { "name": "idx_residential_interests_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_residential_interests_client": { "name": "idx_residential_interests_client", "columns": [ { "expression": "residential_client_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_residential_interests_stage": { "name": "idx_residential_interests_stage", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "pipeline_stage", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_residential_interests_assigned": { "name": "idx_residential_interests_assigned", "columns": [ { "expression": "assigned_to", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_residential_interests_archived": { "name": "idx_residential_interests_archived", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "archived_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "residential_interests_port_id_ports_id_fk": { "name": "residential_interests_port_id_ports_id_fk", "tableFrom": "residential_interests", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "residential_interests_residential_client_id_residential_clients_id_fk": { "name": "residential_interests_residential_client_id_residential_clients_id_fk", "tableFrom": "residential_interests", "tableTo": "residential_clients", "columnsFrom": ["residential_client_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.generated_reports": { "name": "generated_reports", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "scheduled_report_id": { "name": "scheduled_report_id", "type": "text", "primaryKey": false, "notNull": false }, "report_type": { "name": "report_type", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "default": "'queued'" }, "parameters": { "name": "parameters", "type": "jsonb", "primaryKey": false, "notNull": false, "default": "'{}'::jsonb" }, "file_id": { "name": "file_id", "type": "text", "primaryKey": false, "notNull": false }, "error_message": { "name": "error_message", "type": "text", "primaryKey": false, "notNull": false }, "requested_by": { "name": "requested_by", "type": "text", "primaryKey": false, "notNull": true }, "started_at": { "name": "started_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "completed_at": { "name": "completed_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()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_gr_port_created": { "name": "idx_gr_port_created", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "created_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_gr_port_status": { "name": "idx_gr_port_status", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "status", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_gr_scheduled": { "name": "idx_gr_scheduled", "columns": [ { "expression": "scheduled_report_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "where": "\"generated_reports\".\"scheduled_report_id\" IS NOT NULL", "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "generated_reports_port_id_ports_id_fk": { "name": "generated_reports_port_id_ports_id_fk", "tableFrom": "generated_reports", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "generated_reports_scheduled_report_id_scheduled_reports_id_fk": { "name": "generated_reports_scheduled_report_id_scheduled_reports_id_fk", "tableFrom": "generated_reports", "tableTo": "scheduled_reports", "columnsFrom": ["scheduled_report_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "generated_reports_file_id_files_id_fk": { "name": "generated_reports_file_id_files_id_fk", "tableFrom": "generated_reports", "tableTo": "files", "columnsFrom": ["file_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.google_calendar_cache": { "name": "google_calendar_cache", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "event_id": { "name": "event_id", "type": "text", "primaryKey": false, "notNull": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "start_at": { "name": "start_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "end_at": { "name": "end_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "location": { "name": "location", "type": "text", "primaryKey": false, "notNull": false }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "is_crm_pushed": { "name": "is_crm_pushed", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "reminder_id": { "name": "reminder_id", "type": "text", "primaryKey": false, "notNull": false }, "fetched_at": { "name": "fetched_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "gcal_cache_user_event_idx": { "name": "gcal_cache_user_event_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "event_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "idx_gcal_cache_user": { "name": "idx_gcal_cache_user", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "start_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "google_calendar_cache_reminder_id_reminders_id_fk": { "name": "google_calendar_cache_reminder_id_reminders_id_fk", "tableFrom": "google_calendar_cache", "tableTo": "reminders", "columnsFrom": ["reminder_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.google_calendar_tokens": { "name": "google_calendar_tokens", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "access_token": { "name": "access_token", "type": "text", "primaryKey": false, "notNull": true }, "refresh_token": { "name": "refresh_token", "type": "text", "primaryKey": false, "notNull": true }, "token_expiry": { "name": "token_expiry", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "calendar_id": { "name": "calendar_id", "type": "text", "primaryKey": false, "notNull": true, "default": "'primary'" }, "connected_at": { "name": "connected_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "last_sync_at": { "name": "last_sync_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "sync_enabled": { "name": "sync_enabled", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "gcal_tokens_user_id_idx": { "name": "gcal_tokens_user_id_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "google_calendar_tokens_user_id_unique": { "name": "google_calendar_tokens_user_id_unique", "nullsNotDistinct": false, "columns": ["user_id"] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.notifications": { "name": "notifications", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "type": { "name": "type", "type": "text", "primaryKey": false, "notNull": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "link": { "name": "link", "type": "text", "primaryKey": false, "notNull": false }, "entity_type": { "name": "entity_type", "type": "text", "primaryKey": false, "notNull": false }, "entity_id": { "name": "entity_id", "type": "text", "primaryKey": false, "notNull": false }, "is_read": { "name": "is_read", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "email_sent": { "name": "email_sent", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "metadata": { "name": "metadata", "type": "jsonb", "primaryKey": false, "notNull": false, "default": "'{}'::jsonb" }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_notif_user": { "name": "idx_notif_user", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "is_read", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_notif_port": { "name": "idx_notif_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_notifications_user_type": { "name": "idx_notifications_user_type", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "type", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "created_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "notifications_port_id_ports_id_fk": { "name": "notifications_port_id_ports_id_fk", "tableFrom": "notifications", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.reminders": { "name": "reminders", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "note": { "name": "note", "type": "text", "primaryKey": false, "notNull": false }, "due_at": { "name": "due_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "priority": { "name": "priority", "type": "text", "primaryKey": false, "notNull": true, "default": "'medium'" }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "default": "'pending'" }, "assigned_to": { "name": "assigned_to", "type": "text", "primaryKey": false, "notNull": false }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": false }, "interest_id": { "name": "interest_id", "type": "text", "primaryKey": false, "notNull": false }, "berth_id": { "name": "berth_id", "type": "text", "primaryKey": false, "notNull": false }, "auto_generated": { "name": "auto_generated", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "google_calendar_event_id": { "name": "google_calendar_event_id", "type": "text", "primaryKey": false, "notNull": false }, "google_calendar_synced": { "name": "google_calendar_synced", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "snoozed_until": { "name": "snoozed_until", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "completed_at": { "name": "completed_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()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_reminders_port": { "name": "idx_reminders_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_reminders_assigned": { "name": "idx_reminders_assigned", "columns": [ { "expression": "assigned_to", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "status", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_reminders_due": { "name": "idx_reminders_due", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "due_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "where": "\"reminders\".\"status\" IN ('pending', 'snoozed')", "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "reminders_port_id_ports_id_fk": { "name": "reminders_port_id_ports_id_fk", "tableFrom": "reminders", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "reminders_client_id_clients_id_fk": { "name": "reminders_client_id_clients_id_fk", "tableFrom": "reminders", "tableTo": "clients", "columnsFrom": ["client_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.report_recipients": { "name": "report_recipients", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "report_id": { "name": "report_id", "type": "text", "primaryKey": false, "notNull": true }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": false } }, "indexes": { "report_recipients_report_email_idx": { "name": "report_recipients_report_email_idx", "columns": [ { "expression": "report_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "email", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "idx_rr_report": { "name": "idx_rr_report", "columns": [ { "expression": "report_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "report_recipients_report_id_scheduled_reports_id_fk": { "name": "report_recipients_report_id_scheduled_reports_id_fk", "tableFrom": "report_recipients", "tableTo": "scheduled_reports", "columnsFrom": ["report_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.scheduled_reports": { "name": "scheduled_reports", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "report_type": { "name": "report_type", "type": "text", "primaryKey": false, "notNull": true }, "schedule": { "name": "schedule", "type": "text", "primaryKey": false, "notNull": true }, "last_run_at": { "name": "last_run_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "next_run_at": { "name": "next_run_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "is_active": { "name": "is_active", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "config": { "name": "config", "type": "jsonb", "primaryKey": false, "notNull": false, "default": "'{}'::jsonb" }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_sr_port": { "name": "idx_sr_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "scheduled_reports_port_id_ports_id_fk": { "name": "scheduled_reports_port_id_ports_id_fk", "tableFrom": "scheduled_reports", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.audit_logs": { "name": "audit_logs", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": false }, "action": { "name": "action", "type": "text", "primaryKey": false, "notNull": true }, "entity_type": { "name": "entity_type", "type": "text", "primaryKey": false, "notNull": true }, "entity_id": { "name": "entity_id", "type": "text", "primaryKey": false, "notNull": false }, "field_changed": { "name": "field_changed", "type": "text", "primaryKey": false, "notNull": false }, "old_value": { "name": "old_value", "type": "jsonb", "primaryKey": false, "notNull": false }, "new_value": { "name": "new_value", "type": "jsonb", "primaryKey": false, "notNull": false }, "ip_address": { "name": "ip_address", "type": "text", "primaryKey": false, "notNull": false }, "user_agent": { "name": "user_agent", "type": "text", "primaryKey": false, "notNull": false }, "reverted_by": { "name": "reverted_by", "type": "text", "primaryKey": false, "notNull": false }, "reverted_at": { "name": "reverted_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "revert_of": { "name": "revert_of", "type": "text", "primaryKey": false, "notNull": false }, "metadata": { "name": "metadata", "type": "jsonb", "primaryKey": false, "notNull": false, "default": "'{}'::jsonb" }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_al_port": { "name": "idx_al_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "created_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_al_entity": { "name": "idx_al_entity", "columns": [ { "expression": "entity_type", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "entity_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_al_user": { "name": "idx_al_user", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "created_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_al_created": { "name": "idx_al_created", "columns": [ { "expression": "created_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "audit_logs_port_id_ports_id_fk": { "name": "audit_logs_port_id_ports_id_fk", "tableFrom": "audit_logs", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" }, "audit_logs_revert_of_audit_logs_id_fk": { "name": "audit_logs_revert_of_audit_logs_id_fk", "tableFrom": "audit_logs", "tableTo": "audit_logs", "columnsFrom": ["revert_of"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.currency_rates": { "name": "currency_rates", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "base_currency": { "name": "base_currency", "type": "text", "primaryKey": false, "notNull": true }, "target_currency": { "name": "target_currency", "type": "text", "primaryKey": false, "notNull": true }, "rate": { "name": "rate", "type": "numeric", "primaryKey": false, "notNull": true }, "source": { "name": "source", "type": "text", "primaryKey": false, "notNull": true, "default": "'frankfurter'" }, "fetched_at": { "name": "fetched_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "currency_rates_base_target_idx": { "name": "currency_rates_base_target_idx", "columns": [ { "expression": "base_currency", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "target_currency", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.custom_field_definitions": { "name": "custom_field_definitions", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "entity_type": { "name": "entity_type", "type": "text", "primaryKey": false, "notNull": true }, "field_name": { "name": "field_name", "type": "text", "primaryKey": false, "notNull": true }, "field_label": { "name": "field_label", "type": "text", "primaryKey": false, "notNull": true }, "field_type": { "name": "field_type", "type": "text", "primaryKey": false, "notNull": true }, "select_options": { "name": "select_options", "type": "jsonb", "primaryKey": false, "notNull": false }, "is_required": { "name": "is_required", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "sort_order": { "name": "sort_order", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "cfd_port_entity_name_idx": { "name": "cfd_port_entity_name_idx", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "entity_type", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "field_name", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "idx_cfd_port": { "name": "idx_cfd_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "custom_field_definitions_port_id_ports_id_fk": { "name": "custom_field_definitions_port_id_ports_id_fk", "tableFrom": "custom_field_definitions", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.custom_field_values": { "name": "custom_field_values", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "field_id": { "name": "field_id", "type": "text", "primaryKey": false, "notNull": true }, "entity_id": { "name": "entity_id", "type": "text", "primaryKey": false, "notNull": true }, "value": { "name": "value", "type": "jsonb", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "cfv_field_entity_idx": { "name": "cfv_field_entity_idx", "columns": [ { "expression": "field_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "entity_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "idx_cfv_entity": { "name": "idx_cfv_entity", "columns": [ { "expression": "entity_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "custom_field_values_field_id_custom_field_definitions_id_fk": { "name": "custom_field_values_field_id_custom_field_definitions_id_fk", "tableFrom": "custom_field_values", "tableTo": "custom_field_definitions", "columnsFrom": ["field_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.saved_views": { "name": "saved_views", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "entity_type": { "name": "entity_type", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "filters": { "name": "filters", "type": "jsonb", "primaryKey": false, "notNull": true }, "sort_config": { "name": "sort_config", "type": "jsonb", "primaryKey": false, "notNull": false }, "column_config": { "name": "column_config", "type": "jsonb", "primaryKey": false, "notNull": false }, "is_shared": { "name": "is_shared", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "is_default": { "name": "is_default", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_sv_user": { "name": "idx_sv_user", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "entity_type", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "saved_views_port_id_ports_id_fk": { "name": "saved_views_port_id_ports_id_fk", "tableFrom": "saved_views", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.scratchpad_notes": { "name": "scratchpad_notes", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "content": { "name": "content", "type": "text", "primaryKey": false, "notNull": true }, "linked_client_id": { "name": "linked_client_id", "type": "text", "primaryKey": false, "notNull": false }, "linked_at": { "name": "linked_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()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_sp_user": { "name": "idx_sp_user", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "scratchpad_notes_linked_client_id_clients_id_fk": { "name": "scratchpad_notes_linked_client_id_clients_id_fk", "tableFrom": "scratchpad_notes", "tableTo": "clients", "columnsFrom": ["linked_client_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.system_settings": { "name": "system_settings", "schema": "", "columns": { "key": { "name": "key", "type": "text", "primaryKey": false, "notNull": true }, "value": { "name": "value", "type": "jsonb", "primaryKey": false, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": false }, "updated_by": { "name": "updated_by", "type": "text", "primaryKey": false, "notNull": false }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "system_settings_key_port_idx": { "name": "system_settings_key_port_idx", "columns": [ { "expression": "key", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "system_settings_port_id_ports_id_fk": { "name": "system_settings_port_id_ports_id_fk", "tableFrom": "system_settings", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.tags": { "name": "tags", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "color": { "name": "color", "type": "text", "primaryKey": false, "notNull": true, "default": "'#6B7280'" }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "tags_port_name_idx": { "name": "tags_port_name_idx", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "name", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "idx_tags_port": { "name": "idx_tags_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "tags_port_id_ports_id_fk": { "name": "tags_port_id_ports_id_fk", "tableFrom": "tags", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user_notification_preferences": { "name": "user_notification_preferences", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "notification_type": { "name": "notification_type", "type": "text", "primaryKey": false, "notNull": true }, "in_app": { "name": "in_app", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "email": { "name": "email", "type": "boolean", "primaryKey": false, "notNull": true, "default": true } }, "indexes": { "unp_user_port_type_idx": { "name": "unp_user_port_type_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "notification_type", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "user_notification_preferences_port_id_ports_id_fk": { "name": "user_notification_preferences_port_id_ports_id_fk", "tableFrom": "user_notification_preferences", "tableTo": "ports", "columnsFrom": ["port_id"], "columnsTo": ["id"], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.webhook_deliveries": { "name": "webhook_deliveries", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "webhook_id": { "name": "webhook_id", "type": "text", "primaryKey": false, "notNull": true }, "event_type": { "name": "event_type", "type": "text", "primaryKey": false, "notNull": true }, "payload": { "name": "payload", "type": "jsonb", "primaryKey": false, "notNull": true }, "response_status": { "name": "response_status", "type": "integer", "primaryKey": false, "notNull": false }, "response_body": { "name": "response_body", "type": "text", "primaryKey": false, "notNull": false }, "attempt": { "name": "attempt", "type": "integer", "primaryKey": false, "notNull": true, "default": 1 }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "default": "'pending'" }, "delivered_at": { "name": "delivered_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": { "idx_wd_webhook": { "name": "idx_wd_webhook", "columns": [ { "expression": "webhook_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "created_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "webhook_deliveries_webhook_id_webhooks_id_fk": { "name": "webhook_deliveries_webhook_id_webhooks_id_fk", "tableFrom": "webhook_deliveries", "tableTo": "webhooks", "columnsFrom": ["webhook_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.webhooks": { "name": "webhooks", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "port_id": { "name": "port_id", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "url": { "name": "url", "type": "text", "primaryKey": false, "notNull": true }, "secret": { "name": "secret", "type": "text", "primaryKey": false, "notNull": false }, "events": { "name": "events", "type": "text[]", "primaryKey": false, "notNull": true }, "is_active": { "name": "is_active", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_webhooks_port": { "name": "idx_webhooks_port", "columns": [ { "expression": "port_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "webhooks_port_id_ports_id_fk": { "name": "webhooks_port_id_ports_id_fk", "tableFrom": "webhooks", "tableTo": "ports", "columnsFrom": ["port_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": {} } }