autopilot-core-sandbox 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -0
- package/dist/Provider.d.ts +21 -0
- package/dist/Provider.d.ts.map +1 -0
- package/dist/Provider.js +61 -0
- package/dist/Provider.js.map +1 -0
- package/dist/dist/Provider.d.ts +21 -0
- package/dist/dist/Provider.d.ts.map +1 -0
- package/dist/dist/Provider.js +61 -0
- package/dist/dist/Provider.js.map +1 -0
- package/dist/dist/index.d.ts +45 -0
- package/dist/dist/index.d.ts.map +1 -0
- package/dist/dist/index.js +61 -0
- package/dist/dist/index.js.map +1 -0
- package/dist/dist/interfaces/index.d.ts +1238 -0
- package/dist/dist/interfaces/index.d.ts.map +1 -0
- package/dist/dist/interfaces/index.js +3 -0
- package/dist/dist/interfaces/index.js.map +1 -0
- package/dist/dist/migrations/20260608222757_remote_schema.sql +5666 -0
- package/dist/dist/migrations/20260611174826_add_job_item_recurring_id_to_job_item.sql +7 -0
- package/dist/dist/migrations/20260625224612_add_dashboard_guided_tour_dismissed_to_settings_user.sql +5 -0
- package/dist/dist/migrations/20260627031433_support_chat_tables.sql +115 -0
- package/dist/dist/migrations/20260627031434_support_chat_rls.sql +37 -0
- package/dist/dist/migrations/20260704170209_add_estimate_scheduling.sql +121 -0
- package/dist/dist/migrations/20260704170210_add_estimate_scheduling_rls.sql +42 -0
- package/dist/dist/migrations/20260704235034_add_estimate_reminder_settings.sql +11 -0
- package/dist/dist/migrations/20260707003825_blocked_number_table.sql +32 -0
- package/dist/dist/migrations/20260707003826_blocked_number_rls.sql +22 -0
- package/dist/dist/migrations/20260709191055_sms_opt_out_table.sql +38 -0
- package/dist/dist/migrations/20260709191056_sms_opt_out_rls.sql +21 -0
- package/dist/dist/migrations/20260709214507_job_time_entry_table.sql +70 -0
- package/dist/dist/migrations/20260709214508_job_time_entry_rls.sql +21 -0
- package/dist/dist/migrations/20260711185956_phone_call_table.sql +99 -0
- package/dist/dist/migrations/20260711185957_phone_call_rls.sql +25 -0
- package/dist/dist/migrations/20260712014705_ai_voice_assistant_settings.sql +71 -0
- package/dist/dist/migrations/20260712014706_ai_voice_assistant_settings_rls.sql +14 -0
- package/dist/dist/migrations/20260712014707_ai_prompt_templates.sql +28 -0
- package/dist/dist/migrations/20260712014708_ai_prompt_templates_rls.sql +5 -0
- package/dist/dist/migrations/20260712014709_ai_prompt_templates_seed.sql +77 -0
- package/dist/dist/migrations/20260715011550_reminder_dispatch_table.sql +47 -0
- package/dist/dist/migrations/20260715011551_reminder_dispatch_rls.sql +22 -0
- package/dist/dist/migrations/20260715192923_dedup_sequence_contact_add_unique_constraint.sql +27 -0
- package/dist/dist/migrations/20260716194420_add_employee_location_tracking.sql +146 -0
- package/dist/dist/migrations/20260716194421_add_employee_location_tracking_rls.sql +154 -0
- package/dist/dist/migrations/20260716194422_get_client_map_last_completed_jobs.sql +28 -0
- package/dist/dist/migrations/20260717144535_add_blast_email_invalid_skipped_count.sql +2 -0
- package/dist/dist/migrations/20260717162900_create_blast_email_chunk.sql +36 -0
- package/dist/dist/migrations/20260717162901_add_blast_email_chunk_rls.sql +5 -0
- package/dist/dist/migrations/20260717162902_add_blast_email_chunk_progress_columns.sql +3 -0
- package/dist/dist/migrations/20260717162903_add_blast_email_bounce_tracking_columns.sql +4 -0
- package/dist/dist/migrations/20260717162904_create_email_hard_bounced.sql +23 -0
- package/dist/dist/migrations/20260717162905_add_email_hard_bounced_rls.sql +5 -0
- package/dist/dist/migrations/20260717164837_add_sequence_contact_sent_at.sql +19 -0
- package/dist/dist/migrations/20260717170920_add_sequence_contact_claim_index.sql +12 -0
- package/dist/dist/migrations/20260719215139_create_outbound_event.sql +59 -0
- package/dist/dist/migrations/20260719215140_create_outbound_event_rls.sql +16 -0
- package/dist/dist/migrations/20260719215141_create_webhook_delivery.sql +99 -0
- package/dist/dist/migrations/20260719215142_create_webhook_delivery_rls.sql +11 -0
- package/dist/dist/migrations/20260719215143_outbound_event_triggers.sql +219 -0
- package/dist/dist/migrations/20260719215144_create_api_key.sql +34 -0
- package/dist/dist/migrations/20260719215146_create_api_key_rls.sql +12 -0
- package/dist/dist/migrations/20260719215147_webhook_subscription_add_secret_active.sql +28 -0
- package/dist/dist/migrations/20260719215148_api_aggregate_create_functions.sql +479 -0
- package/dist/dist/migrations/20260721174837_webhook_subscription_generic_endpoints.sql +41 -0
- package/dist/dist/migrations/20260721185631_webhook_outbox_retention.sql +87 -0
- package/dist/dist/migrations/20260721190304_create_qb_sync_task.sql +120 -0
- package/dist/dist/migrations/20260721190306_qb_sync_task_rls.sql +8 -0
- package/dist/dist/migrations/20260721190307_qb_mapping_orphan_fks.sql +29 -0
- package/dist/dist/migrations/20260721190308_qb_task_retention.sql +90 -0
- package/dist/dist/migrations/20260721234401_create_permission_role.sql +83 -0
- package/dist/dist/migrations/20260721234402_permission_role_rls.sql +22 -0
- package/dist/dist/migrations/20260721234403_user_role_add_permission_role_id.sql +12 -0
- package/dist/dist/migrations/20260721234404_seed_permission_roles.sql +100 -0
- package/dist/dist/migrations/20260721234405_backfill_user_role_permission_role_id.sql +20 -0
- package/dist/dist/migrations/20260722193800_permission_role_add_manage_employees.sql +56 -0
- package/dist/dist/migrations/20260723025606_staging_new_employee_company_read_rls.sql +10 -0
- package/dist/dist/migrations/20260723134328_create_google_lsa_integration.sql +1016 -0
- package/dist/dist/migrations/20260723134329_google_lsa_integration_rls.sql +205 -0
- package/dist/dist/migrations/20260723150640_google_lsa_hardening.sql +169 -0
- package/dist/dist/migrations/20260723150641_google_lsa_hardening_rls.sql +12 -0
- package/dist/dist/migrations/20260724230721_google_lsa_facebook_exclusivity_attach.sql +104 -0
- package/dist/dist/migrations/20260724230722_google_lsa_facebook_exclusivity_attach_rls.sql +20 -0
- package/dist/dist/migrations/20260725172630_add_message_pagination_and_search.sql +265 -0
- package/dist/dist/migrations/20260725172631_add_message_pagination_and_search_rls.sql +72 -0
- package/dist/dist/migrations/20260725172632_optimize_message_thread_pagination_search.sql +245 -0
- package/dist/dist/migrations/20260725172633_harden_message_search_and_photo_pagination.sql +256 -0
- package/dist/dist/migrations/20260725172634_fix_message_thread_line_filter.sql +250 -0
- package/dist/dist/migrations/20260725174948_google_lsa_attach_bing_exclusivity_guard.sql +23 -0
- package/dist/dist/migrations/20260725200430_client_portal_settings.sql +41 -0
- package/dist/dist/migrations/20260725200431_client_portal_settings_rls.sql +21 -0
- package/dist/dist/migrations/20260725200433_client_portal_auth_tables.sql +81 -0
- package/dist/dist/migrations/20260725200434_client_portal_auth_rls.sql +18 -0
- package/dist/dist/migrations/20260725200435_portal_claim_login_attempt.sql +36 -0
- package/dist/dist/migrations/20260725200436_portal_appointment_request.sql +39 -0
- package/dist/dist/migrations/20260725200437_portal_appointment_request_rls.sql +10 -0
- package/dist/dist/migrations/20260725210000_google_reserve_integration.sql +85 -0
- package/dist/dist/migrations/20260725210001_google_reserve_integration_rls.sql +10 -0
- package/dist/dist/migrations/20260725220000_add_analytics_query_indexes.sql +47 -0
- package/dist/dist/migrations/20260725230000_onboarding_preload_data.sql +1074 -0
- package/dist/dist/migrations/20260725230001_onboarding_preload_data_rls.sql +40 -0
- package/dist/dist/migrations/20260725230002_add_pricebook_query_indexes.sql +13 -0
- package/dist/dist/migrations/20260726000000_facebook_ads_integration.sql +1538 -0
- package/dist/dist/migrations/20260726000001_facebook_ads_integration_rls.sql +356 -0
- package/dist/dist/migrations/20260726000002_facebook_ads_attach_lsa_exclusivity_guard.sql +25 -0
- package/dist/dist/migrations/20260726000003_facebook_ads_attach_bing_exclusivity_guard.sql +22 -0
- package/dist/dist/migrations/20260726010000_create_bing_ads_integration.sql +1112 -0
- package/dist/dist/migrations/20260726010001_bing_ads_integration_rls.sql +227 -0
- package/dist/dist/migrations/20260726220000_add_document_theme_settings.sql +11 -0
- package/dist/dist/migrations/20260726220001_update_document_theme_comments.sql +7 -0
- package/dist/dist/migrations/20260727210319_evolve_tier_for_pricing.sql +68 -0
- package/dist/dist/migrations/20260727210320_create_billing_addon.sql +85 -0
- package/dist/dist/migrations/20260727210321_create_billing_addon_rls.sql +21 -0
- package/dist/dist/migrations/20260728213930_create_usage_metering.sql +189 -0
- package/dist/dist/migrations/20260728213931_create_usage_metering_rls.sql +32 -0
- package/dist/dist/migrations/20260729004305_marketing_charge_txn_functions.sql +242 -0
- package/dist/dist/migrations/20260729004306_marketing_charge_txn_functions_rls.sql +37 -0
- package/dist/dist/migrations/20260729005524_update_deduct_from_balance_errcode.sql +42 -0
- package/dist/dist/migrations/20260730193601_fix_deduct_from_balance_lost_update.sql +46 -0
- package/dist/dist/migrations/20260730193602_add_blast_sms_chunk_reaper_columns.sql +27 -0
- package/dist/dist/migrations/20260731011415_create_google_calendar_connection.sql +84 -0
- package/dist/dist/migrations/20260731011416_google_calendar_connection_rls.sql +23 -0
- package/dist/dist/migrations/20260731011417_create_google_calendar_sync.sql +157 -0
- package/dist/dist/migrations/20260731011418_google_calendar_sync_rls.sql +26 -0
- package/dist/dist/migrations/20260731011419_event_outbound_triggers.sql +28 -0
- package/dist/dist/migrations/20260731011420_add_google_calendar_addon_key.sql +24 -0
- package/dist/dist/migrations/20260731011421_gcal_task_retention.sql +109 -0
- package/dist/dist/migrations/20260731234245_create_estimate_proposal.sql +157 -0
- package/dist/dist/migrations/20260731234247_estimate_proposal_rls.sql +46 -0
- package/dist/dist/migrations/20260731234248_add_proposal_estimate_settings.sql +17 -0
- package/dist/dist/migrations/20260731234249_add_estimate_proposals_addon_key.sql +25 -0
- package/dist/dist/migrations/20260731234250_approve_estimate_proposal_function.sql +133 -0
- package/dist/dist/migrations/20260801010609_save_estimate_proposal_function.sql +154 -0
- package/dist/dist/migrations/20260801173554_add_hide_autopilot_branding_setting.sql +6 -0
- package/dist/dist/migrations/20260806230917_add_client_billing_address_columns.sql +9 -0
- package/dist/dist/migrations/20260806230944_api_create_client_billing_address.sql +93 -0
- package/dist/dist/migrations/20260807014702_create_parent_id_company_id_keys.sql +20 -0
- package/dist/dist/migrations/20260807014703_create_contract_template.sql +30 -0
- package/dist/dist/migrations/20260807014704_create_contract.sql +233 -0
- package/dist/dist/migrations/20260807014705_create_contract_signature.sql +39 -0
- package/dist/dist/migrations/20260807014706_create_item_contract_requirement.sql +38 -0
- package/dist/dist/migrations/20260807014707_create_settings_contract.sql +23 -0
- package/dist/dist/migrations/20260807014708_contract_rls.sql +74 -0
- package/dist/dist/migrations/20260807014709_sign_contract_function.sql +92 -0
- package/dist/dist/migrations/20260807014710_create_settings_rental.sql +34 -0
- package/dist/dist/migrations/20260807014711_create_saved_location.sql +56 -0
- package/dist/dist/migrations/20260807014712_create_rental_task_option.sql +52 -0
- package/dist/dist/migrations/20260807014713_create_asset.sql +90 -0
- package/dist/dist/migrations/20260807014714_add_job_schedule_asset_fkeys.sql +39 -0
- package/dist/dist/migrations/20260807014715_rental_rls.sql +48 -0
- package/dist/dist/migrations/20260807014716_add_job_schedule_any_time.sql +7 -0
- package/dist/dist/migrations/20260807014717_add_job_schedule_target_location.sql +48 -0
- package/dist/dist/migrations/20260807014718_job_schedule_completion_guard.sql +53 -0
- package/dist/dist/migrations/20260807014719_add_job_schedule_list_sort_key.sql +7 -0
- package/dist/dist/migrations/20260807014720_add_item_duration.sql +11 -0
- package/dist/dist/migrations/20260807014721_add_settings_booking_enforce_rental_availability.sql +9 -0
- package/dist/dist/migrations/20260807014722_add_job_unsigned_rental_agreement.sql +10 -0
- package/dist/dist/migrations/20260807014723_add_item_size.sql +12 -0
- package/dist/dist/migrations/20260809193533_add_booking_path_button_labels.sql +11 -0
- package/dist/dist/migrations/20260809231721_add_route_distance_cache.sql +37 -0
- package/dist/dist/migrations/20260809231722_route_distance_cache_rls.sql +15 -0
- package/dist/dist/migrations/20260809231723_apply_rental_route_plan_function.sql +275 -0
- package/dist/dist/migrations/20260810171550_add_settings_job_default_job_types.sql +9 -0
- package/dist/dist/migrations/20260810212430_backfill_rental_task_option_sort_order.sql +61 -0
- package/dist/dist/migrations/20260811224317_add_settings_user_dnd_hint_dismissed.sql +9 -0
- package/dist/dist/migrations/20260813174503_repair_user_role_email_drift.sql +59 -0
- package/dist/dist/migrations/20260813174504_sync_user_role_email_trigger.sql +30 -0
- package/dist/dist/migrations/20260813175210_add_event_list_sort_key.sql +5 -0
- package/dist/dist/migrations/20260814172222_add_client_auto_bill_on_completion.sql +6 -0
- package/dist/dist/migrations/20260816160252_create_automation_rule.sql +99 -0
- package/dist/dist/migrations/20260816160253_automation_rule_rls.sql +19 -0
- package/dist/dist/migrations/20260816160254_create_settings_automation.sql +36 -0
- package/dist/dist/migrations/20260816160255_settings_automation_rls.sql +18 -0
- package/dist/dist/migrations/20260816160256_create_automation_event.sql +71 -0
- package/dist/dist/migrations/20260816160257_automation_event_rls.sql +12 -0
- package/dist/dist/migrations/20260816160258_create_automation_run.sql +129 -0
- package/dist/dist/migrations/20260816160259_automation_run_rls.sql +19 -0
- package/dist/dist/migrations/20260816160300_add_client_created_via.sql +25 -0
- package/dist/dist/migrations/20260816160301_add_estimate_sent_at.sql +39 -0
- package/dist/dist/migrations/20260816160302_add_message_automation_ref.sql +10 -0
- package/dist/dist/migrations/20260816160303_automation_event_triggers.sql +236 -0
- package/dist/dist/migrations/20260816160304_automation_retention.sql +142 -0
- package/dist/dist/migrations/20260816202404_add_automation_center_addon_key.sql +26 -0
- package/dist/dist/migrations/20260816225501_widen_automation_rule_trigger_action_checks.sql +25 -0
- package/dist/dist/migrations/20260816225502_widen_automation_event_type_check.sql +18 -0
- package/dist/dist/migrations/20260816225503_add_invoice_id_to_automation_tables.sql +18 -0
- package/dist/dist/migrations/20260816225504_add_job_rescheduled_capture_trigger.sql +51 -0
- package/dist/dist/migrations/20260816225505_add_lead_converted_capture_trigger.sql +26 -0
- package/dist/dist/migrations/20260816225506_fix_booking_request_import_guard.sql +27 -0
- package/dist/dist/migrations/20260816225507_widen_outbound_event_for_automation.sql +38 -0
- package/dist/dist/migrations/20260817002626_add_user_last_login_platform_columns.sql +14 -0
- package/dist/dist/migrations/20260817221703_create_deletion.sql +34 -0
- package/dist/dist/migrations/20260817221707_deletion_rls.sql +21 -0
- package/dist/dist/migrations/20260817221708_add_soft_delete_columns.sql +82 -0
- package/dist/dist/migrations/20260817221709_trash_functions.sql +434 -0
- package/dist/dist/migrations/20260817221710_outbound_event_soft_delete.sql +55 -0
- package/dist/dist/migrations/20260817221711_automation_soft_delete_events.sql +77 -0
- package/dist/dist/migrations/20260817221712_fix_estimate_address_cascade.sql +14 -0
- package/dist/dist/migrations/20260817232630_trash_batch_function.sql +67 -0
- package/dist/dist/migrations/20260819170204_create_email_spam_complaint.sql +23 -0
- package/dist/dist/migrations/20260819170205_add_email_spam_complaint_rls.sql +5 -0
- package/dist/dist/migrations/20260819170206_email_unsubscribed_upsert_constraints.sql +14 -0
- package/dist/dist/migrations/20260819180151_get_suppressed_emails_function.sql +23 -0
- package/dist/dist/migrations/20260819191143_is_deleted_backfill_guard.sql +29 -0
- package/dist/dist/migrations/20260819191144_trash_functions_no_dual_write.sql +319 -0
- package/dist/dist/migrations/20260819191145_client_map_jobs_deleted_at.sql +33 -0
- package/dist/dist/migrations/20260819191147_booking_declined_deleted_at.sql +28 -0
- package/dist/dist/migrations/20260819191148_onboarding_preload_no_address_is_deleted.sql +1019 -0
- package/dist/dist/migrations/20260820222756_add_settings_job_hide_task_timer.sql +2 -0
- package/dist/dist/migrations/20260824234151_add_blast_chunk_recipients.sql +13 -0
- package/dist/dist/migrations/20260824234152_add_blast_pause_cancel_columns.sql +10 -0
- package/dist/dist/migrations/20260825014725_get_job_ids_in_range.sql +42 -0
- package/dist/dist/migrations/20260825194452_add_failed_job_status.sql +15 -0
- package/dist/dist/migrations/20260825194457_remove_take_to_rental_task_options.sql +24 -0
- package/dist/dist/migrations/20260825194458_remove_take_to_job_schedules.sql +12 -0
- package/dist/dist/migrations/20260825194459_rework_apply_rental_route_plan_no_take_to.sql +168 -0
- package/dist/dist/migrations/20260825194500_drop_job_schedule_target_location.sql +24 -0
- package/dist/dist/migrations/20260825194501_add_job_schedule_size.sql +17 -0
- package/dist/dist/migrations/20260825233001_add_job_schedule_id_company_id_key.sql +11 -0
- package/dist/dist/migrations/20260825233002_create_route_plan.sql +52 -0
- package/dist/dist/migrations/20260825233003_create_route_plan_stop.sql +159 -0
- package/dist/dist/migrations/20260825233004_route_plan_rls.sql +32 -0
- package/dist/dist/migrations/20260825233005_apply_rental_route_plan_v2.sql +351 -0
- package/dist/dist/migrations/20260826150934_facebook_ads_lead_ingestion.sql +1711 -0
- package/dist/dist/migrations/20260826151141_facebook_ads_lead_ingestion_rls_v2.sql +43 -0
- package/dist/dist/migrations/20260826234722_facebook_messenger_ingestion.sql +703 -0
- package/dist/dist/migrations/20260826234723_facebook_messenger_ingestion_rls.sql +80 -0
- package/dist/dist/migrations/20260826234724_widen_automations_messenger.sql +46 -0
- package/dist/dist/migrations/20260827100001_add_route_plan_minutes.sql +10 -0
- package/dist/dist/migrations/20260827100002_add_route_plan_stop_leg_minutes.sql +9 -0
- package/dist/dist/migrations/20260827100003_apply_rental_route_plan_v3.sql +341 -0
- package/dist/dist/migrations/20260827230346_apply_rental_route_plan_v4.sql +366 -0
- package/dist/dist/migrations/20260829090911_create_fleet_schema.sql +3698 -0
- package/dist/dist/migrations/20260829090912_fleet_rls.sql +1011 -0
- package/dist/dist/migrations/20260831102212_add_online_booking_address_display.sql +8 -0
- package/dist/dist/providers/AddressProvider.d.ts +9 -0
- package/dist/dist/providers/AddressProvider.d.ts.map +1 -0
- package/dist/dist/providers/AddressProvider.js +207 -0
- package/dist/dist/providers/AddressProvider.js.map +1 -0
- package/dist/dist/providers/AutomationsProvider.d.ts +11 -0
- package/dist/dist/providers/AutomationsProvider.d.ts.map +1 -0
- package/dist/dist/providers/AutomationsProvider.js +170 -0
- package/dist/dist/providers/AutomationsProvider.js.map +1 -0
- package/dist/dist/providers/BlockedNumbersProvider.d.ts +13 -0
- package/dist/dist/providers/BlockedNumbersProvider.d.ts.map +1 -0
- package/dist/dist/providers/BlockedNumbersProvider.js +71 -0
- package/dist/dist/providers/BlockedNumbersProvider.js.map +1 -0
- package/dist/dist/providers/CategoryProvider.d.ts +8 -0
- package/dist/dist/providers/CategoryProvider.d.ts.map +1 -0
- package/dist/dist/providers/CategoryProvider.js +95 -0
- package/dist/dist/providers/CategoryProvider.js.map +1 -0
- package/dist/dist/providers/ClientProvider.d.ts +39 -0
- package/dist/dist/providers/ClientProvider.d.ts.map +1 -0
- package/dist/dist/providers/ClientProvider.js +253 -0
- package/dist/dist/providers/ClientProvider.js.map +1 -0
- package/dist/dist/providers/CompanyProvider.d.ts +7 -0
- package/dist/dist/providers/CompanyProvider.d.ts.map +1 -0
- package/dist/dist/providers/CompanyProvider.js +114 -0
- package/dist/dist/providers/CompanyProvider.js.map +1 -0
- package/dist/dist/providers/DashboardProvider.d.ts +78 -0
- package/dist/dist/providers/DashboardProvider.d.ts.map +1 -0
- package/dist/dist/providers/DashboardProvider.js +568 -0
- package/dist/dist/providers/DashboardProvider.js.map +1 -0
- package/dist/dist/providers/DiscountProvider.d.ts +8 -0
- package/dist/dist/providers/DiscountProvider.d.ts.map +1 -0
- package/dist/dist/providers/DiscountProvider.js +92 -0
- package/dist/dist/providers/DiscountProvider.js.map +1 -0
- package/dist/dist/providers/EmployeesProvider.d.ts +6 -0
- package/dist/dist/providers/EmployeesProvider.d.ts.map +1 -0
- package/dist/dist/providers/EmployeesProvider.js +185 -0
- package/dist/dist/providers/EmployeesProvider.js.map +1 -0
- package/dist/dist/providers/EstimatesProvider.d.ts +16 -0
- package/dist/dist/providers/EstimatesProvider.d.ts.map +1 -0
- package/dist/dist/providers/EstimatesProvider.js +251 -0
- package/dist/dist/providers/EstimatesProvider.js.map +1 -0
- package/dist/dist/providers/EventsProvider.d.ts +4 -0
- package/dist/dist/providers/EventsProvider.d.ts.map +1 -0
- package/dist/dist/providers/EventsProvider.js +24 -0
- package/dist/dist/providers/EventsProvider.js.map +1 -0
- package/dist/dist/providers/FilesProvider.d.ts +17 -0
- package/dist/dist/providers/FilesProvider.d.ts.map +1 -0
- package/dist/dist/providers/FilesProvider.js +201 -0
- package/dist/dist/providers/FilesProvider.js.map +1 -0
- package/dist/dist/providers/InvoicesProvider.d.ts +13 -0
- package/dist/dist/providers/InvoicesProvider.d.ts.map +1 -0
- package/dist/dist/providers/InvoicesProvider.js +207 -0
- package/dist/dist/providers/InvoicesProvider.js.map +1 -0
- package/dist/dist/providers/ItemProvider.d.ts +9 -0
- package/dist/dist/providers/ItemProvider.d.ts.map +1 -0
- package/dist/dist/providers/ItemProvider.js +201 -0
- package/dist/dist/providers/ItemProvider.js.map +1 -0
- package/dist/dist/providers/JobSourceProvider.d.ts +8 -0
- package/dist/dist/providers/JobSourceProvider.d.ts.map +1 -0
- package/dist/dist/providers/JobSourceProvider.js +75 -0
- package/dist/dist/providers/JobSourceProvider.js.map +1 -0
- package/dist/dist/providers/JobTypeProvider.d.ts +8 -0
- package/dist/dist/providers/JobTypeProvider.d.ts.map +1 -0
- package/dist/dist/providers/JobTypeProvider.js +75 -0
- package/dist/dist/providers/JobTypeProvider.js.map +1 -0
- package/dist/dist/providers/JobsProvider.d.ts +35 -0
- package/dist/dist/providers/JobsProvider.d.ts.map +1 -0
- package/dist/dist/providers/JobsProvider.js +863 -0
- package/dist/dist/providers/JobsProvider.js.map +1 -0
- package/dist/dist/providers/MessagesProvider.d.ts +33 -0
- package/dist/dist/providers/MessagesProvider.d.ts.map +1 -0
- package/dist/dist/providers/MessagesProvider.js +415 -0
- package/dist/dist/providers/MessagesProvider.js.map +1 -0
- package/dist/dist/providers/PaymentProvider.d.ts +9 -0
- package/dist/dist/providers/PaymentProvider.d.ts.map +1 -0
- package/dist/dist/providers/PaymentProvider.js +48 -0
- package/dist/dist/providers/PaymentProvider.js.map +1 -0
- package/dist/dist/providers/PermissionRolesProvider.d.ts +5 -0
- package/dist/dist/providers/PermissionRolesProvider.d.ts.map +1 -0
- package/dist/dist/providers/PermissionRolesProvider.js +30 -0
- package/dist/dist/providers/PermissionRolesProvider.js.map +1 -0
- package/dist/dist/providers/PhoneNumberProvider.d.ts +12 -0
- package/dist/dist/providers/PhoneNumberProvider.d.ts.map +1 -0
- package/dist/dist/providers/PhoneNumberProvider.js +184 -0
- package/dist/dist/providers/PhoneNumberProvider.js.map +1 -0
- package/dist/dist/providers/ProfileProvider.d.ts +6 -0
- package/dist/dist/providers/ProfileProvider.d.ts.map +1 -0
- package/dist/dist/providers/ProfileProvider.js +71 -0
- package/dist/dist/providers/ProfileProvider.js.map +1 -0
- package/dist/dist/providers/RentalsProvider.d.ts +28 -0
- package/dist/dist/providers/RentalsProvider.d.ts.map +1 -0
- package/dist/dist/providers/RentalsProvider.js +438 -0
- package/dist/dist/providers/RentalsProvider.js.map +1 -0
- package/dist/dist/providers/SettingsBookingProvider.d.ts +9 -0
- package/dist/dist/providers/SettingsBookingProvider.d.ts.map +1 -0
- package/dist/dist/providers/SettingsBookingProvider.js +163 -0
- package/dist/dist/providers/SettingsBookingProvider.js.map +1 -0
- package/dist/dist/providers/SettingsProvider.d.ts +8 -0
- package/dist/dist/providers/SettingsProvider.d.ts.map +1 -0
- package/dist/dist/providers/SettingsProvider.js +86 -0
- package/dist/dist/providers/SettingsProvider.js.map +1 -0
- package/dist/dist/providers/TagsProvider.d.ts +12 -0
- package/dist/dist/providers/TagsProvider.d.ts.map +1 -0
- package/dist/dist/providers/TagsProvider.js +210 -0
- package/dist/dist/providers/TagsProvider.js.map +1 -0
- package/dist/dist/providers/TimeCardProvider.d.ts +8 -0
- package/dist/dist/providers/TimeCardProvider.d.ts.map +1 -0
- package/dist/dist/providers/TimeCardProvider.js +93 -0
- package/dist/dist/providers/TimeCardProvider.js.map +1 -0
- package/dist/dist/providers/TrashProvider.d.ts +13 -0
- package/dist/dist/providers/TrashProvider.d.ts.map +1 -0
- package/dist/dist/providers/TrashProvider.js +98 -0
- package/dist/dist/providers/TrashProvider.js.map +1 -0
- package/dist/dist/providers/dashboardAnalytics.d.ts +9 -0
- package/dist/dist/providers/dashboardAnalytics.d.ts.map +1 -0
- package/dist/dist/providers/dashboardAnalytics.js +41 -0
- package/dist/dist/providers/dashboardAnalytics.js.map +1 -0
- package/dist/dist/providers/dashboardAnalytics.test.d.ts +2 -0
- package/dist/dist/providers/dashboardAnalytics.test.d.ts.map +1 -0
- package/dist/dist/providers/dashboardAnalytics.test.js +111 -0
- package/dist/dist/providers/dashboardAnalytics.test.js.map +1 -0
- package/dist/dist/server-safe/BlockedNumberFunctions.d.ts +11 -0
- package/dist/dist/server-safe/BlockedNumberFunctions.d.ts.map +1 -0
- package/dist/dist/server-safe/BlockedNumberFunctions.js +16 -0
- package/dist/dist/server-safe/BlockedNumberFunctions.js.map +1 -0
- package/dist/dist/server-safe/EmployeeFunctions.d.ts +14 -0
- package/dist/dist/server-safe/EmployeeFunctions.d.ts.map +1 -0
- package/dist/dist/server-safe/EmployeeFunctions.js +70 -0
- package/dist/dist/server-safe/EmployeeFunctions.js.map +1 -0
- package/dist/dist/server-safe/EmployeeLocationFunctions.d.ts +7 -0
- package/dist/dist/server-safe/EmployeeLocationFunctions.d.ts.map +1 -0
- package/dist/dist/server-safe/EmployeeLocationFunctions.js +47 -0
- package/dist/dist/server-safe/EmployeeLocationFunctions.js.map +1 -0
- package/dist/dist/server-safe/EstimateFunctions.d.ts +15 -0
- package/dist/dist/server-safe/EstimateFunctions.d.ts.map +1 -0
- package/dist/dist/server-safe/EstimateFunctions.js +34 -0
- package/dist/dist/server-safe/EstimateFunctions.js.map +1 -0
- package/dist/dist/server-safe/InvoiceFunctions.d.ts +21 -0
- package/dist/dist/server-safe/InvoiceFunctions.d.ts.map +1 -0
- package/dist/dist/server-safe/InvoiceFunctions.js +124 -0
- package/dist/dist/server-safe/InvoiceFunctions.js.map +1 -0
- package/dist/dist/server-safe/JobFunctions.d.ts +15 -0
- package/dist/dist/server-safe/JobFunctions.d.ts.map +1 -0
- package/dist/dist/server-safe/JobFunctions.js +56 -0
- package/dist/dist/server-safe/JobFunctions.js.map +1 -0
- package/dist/dist/server-safe/PaymentFunctions.d.ts +16 -0
- package/dist/dist/server-safe/PaymentFunctions.d.ts.map +1 -0
- package/dist/dist/server-safe/PaymentFunctions.js +80 -0
- package/dist/dist/server-safe/PaymentFunctions.js.map +1 -0
- package/dist/dist/server-safe/PermissionFunctions.d.ts +7 -0
- package/dist/dist/server-safe/PermissionFunctions.d.ts.map +1 -0
- package/dist/dist/server-safe/PermissionFunctions.js +39 -0
- package/dist/dist/server-safe/PermissionFunctions.js.map +1 -0
- package/dist/dist/server-safe/TagFunctions.d.ts +18 -0
- package/dist/dist/server-safe/TagFunctions.d.ts.map +1 -0
- package/dist/dist/server-safe/TagFunctions.js +52 -0
- package/dist/dist/server-safe/TagFunctions.js.map +1 -0
- package/dist/dist/server-safe/autoJobType.d.ts +16 -0
- package/dist/dist/server-safe/autoJobType.d.ts.map +1 -0
- package/dist/dist/server-safe/autoJobType.js +39 -0
- package/dist/dist/server-safe/autoJobType.js.map +1 -0
- package/dist/dist/server-safe/autoJobType.test.d.ts +2 -0
- package/dist/dist/server-safe/autoJobType.test.d.ts.map +1 -0
- package/dist/dist/server-safe/autoJobType.test.js +83 -0
- package/dist/dist/server-safe/autoJobType.test.js.map +1 -0
- package/dist/dist/server-safe/automations.d.ts +197 -0
- package/dist/dist/server-safe/automations.d.ts.map +1 -0
- package/dist/dist/server-safe/automations.js +757 -0
- package/dist/dist/server-safe/automations.js.map +1 -0
- package/dist/dist/server-safe/automations.test.d.ts +2 -0
- package/dist/dist/server-safe/automations.test.d.ts.map +1 -0
- package/dist/dist/server-safe/automations.test.js +441 -0
- package/dist/dist/server-safe/automations.test.js.map +1 -0
- package/dist/dist/server-safe/constants.d.ts +156 -0
- package/dist/dist/server-safe/constants.d.ts.map +1 -0
- package/dist/dist/server-safe/constants.js +186 -0
- package/dist/dist/server-safe/constants.js.map +1 -0
- package/dist/dist/server-safe/contracts.d.ts +3 -0
- package/dist/dist/server-safe/contracts.d.ts.map +1 -0
- package/dist/dist/server-safe/contracts.js +15 -0
- package/dist/dist/server-safe/contracts.js.map +1 -0
- package/dist/dist/server-safe/database.types.d.ts +9510 -0
- package/dist/dist/server-safe/database.types.d.ts.map +1 -0
- package/dist/dist/server-safe/database.types.js +40 -0
- package/dist/dist/server-safe/database.types.js.map +1 -0
- package/dist/dist/server-safe/entitlements.d.ts +99 -0
- package/dist/dist/server-safe/entitlements.d.ts.map +1 -0
- package/dist/dist/server-safe/entitlements.js +487 -0
- package/dist/dist/server-safe/entitlements.js.map +1 -0
- package/dist/dist/server-safe/facebookAdsLeads.d.ts +225 -0
- package/dist/dist/server-safe/facebookAdsLeads.d.ts.map +1 -0
- package/dist/dist/server-safe/facebookAdsLeads.js +376 -0
- package/dist/dist/server-safe/facebookAdsLeads.js.map +1 -0
- package/dist/dist/server-safe/facebookAdsLeads.test.d.ts +2 -0
- package/dist/dist/server-safe/facebookAdsLeads.test.d.ts.map +1 -0
- package/dist/dist/server-safe/facebookAdsLeads.test.js +189 -0
- package/dist/dist/server-safe/facebookAdsLeads.test.js.map +1 -0
- package/dist/dist/server-safe/facebookAdsLeadsSql.test.d.ts +2 -0
- package/dist/dist/server-safe/facebookAdsLeadsSql.test.d.ts.map +1 -0
- package/dist/dist/server-safe/facebookAdsLeadsSql.test.js +32 -0
- package/dist/dist/server-safe/facebookAdsLeadsSql.test.js.map +1 -0
- package/dist/dist/server-safe/facebookMessenger.d.ts +20 -0
- package/dist/dist/server-safe/facebookMessenger.d.ts.map +1 -0
- package/dist/dist/server-safe/facebookMessenger.js +63 -0
- package/dist/dist/server-safe/facebookMessenger.js.map +1 -0
- package/dist/dist/server-safe/facebookMessenger.test.d.ts +2 -0
- package/dist/dist/server-safe/facebookMessenger.test.d.ts.map +1 -0
- package/dist/dist/server-safe/facebookMessenger.test.js +51 -0
- package/dist/dist/server-safe/facebookMessenger.test.js.map +1 -0
- package/dist/dist/server-safe/helpers.d.ts +78 -0
- package/dist/dist/server-safe/helpers.d.ts.map +1 -0
- package/dist/dist/server-safe/helpers.js +569 -0
- package/dist/dist/server-safe/helpers.js.map +1 -0
- package/dist/dist/server-safe/index.d.ts +30 -0
- package/dist/dist/server-safe/index.d.ts.map +1 -0
- package/dist/dist/server-safe/index.js +46 -0
- package/dist/dist/server-safe/index.js.map +1 -0
- package/dist/dist/server-safe/permissions.d.ts +29 -0
- package/dist/dist/server-safe/permissions.d.ts.map +1 -0
- package/dist/dist/server-safe/permissions.js +180 -0
- package/dist/dist/server-safe/permissions.js.map +1 -0
- package/dist/dist/server-safe/proposals.d.ts +6 -0
- package/dist/dist/server-safe/proposals.d.ts.map +1 -0
- package/dist/dist/server-safe/proposals.js +58 -0
- package/dist/dist/server-safe/proposals.js.map +1 -0
- package/dist/dist/server-safe/rentalAvailability.d.ts +56 -0
- package/dist/dist/server-safe/rentalAvailability.d.ts.map +1 -0
- package/dist/dist/server-safe/rentalAvailability.js +124 -0
- package/dist/dist/server-safe/rentalAvailability.js.map +1 -0
- package/dist/dist/server-safe/rentalAvailability.test.d.ts +2 -0
- package/dist/dist/server-safe/rentalAvailability.test.d.ts.map +1 -0
- package/dist/dist/server-safe/rentalAvailability.test.js +290 -0
- package/dist/dist/server-safe/rentalAvailability.test.js.map +1 -0
- package/dist/dist/server-safe/rentals.d.ts +95 -0
- package/dist/dist/server-safe/rentals.d.ts.map +1 -0
- package/dist/dist/server-safe/rentals.js +432 -0
- package/dist/dist/server-safe/rentals.js.map +1 -0
- package/dist/dist/server-safe/rentals.test.d.ts +2 -0
- package/dist/dist/server-safe/rentals.test.d.ts.map +1 -0
- package/dist/dist/server-safe/rentals.test.js +1034 -0
- package/dist/dist/server-safe/rentals.test.js.map +1 -0
- package/dist/dist/server-safe/routeOptimization.d.ts +155 -0
- package/dist/dist/server-safe/routeOptimization.d.ts.map +1 -0
- package/dist/dist/server-safe/routeOptimization.js +120 -0
- package/dist/dist/server-safe/routeOptimization.js.map +1 -0
- package/dist/dist/server-safe/routeOptimization.test.d.ts +2 -0
- package/dist/dist/server-safe/routeOptimization.test.d.ts.map +1 -0
- package/dist/dist/server-safe/routeOptimization.test.js +234 -0
- package/dist/dist/server-safe/routeOptimization.test.js.map +1 -0
- package/dist/dist/server-safe/routePlanFingerprint.d.ts +13 -0
- package/dist/dist/server-safe/routePlanFingerprint.d.ts.map +1 -0
- package/dist/dist/server-safe/routePlanFingerprint.js +49 -0
- package/dist/dist/server-safe/routePlanFingerprint.js.map +1 -0
- package/dist/dist/server-safe/routePlanFingerprint.test.d.ts +2 -0
- package/dist/dist/server-safe/routePlanFingerprint.test.d.ts.map +1 -0
- package/dist/dist/server-safe/routePlanFingerprint.test.js +68 -0
- package/dist/dist/server-safe/routePlanFingerprint.test.js.map +1 -0
- package/dist/dist/server-safe/scheduleListOrder.d.ts +18 -0
- package/dist/dist/server-safe/scheduleListOrder.d.ts.map +1 -0
- package/dist/dist/server-safe/scheduleListOrder.js +92 -0
- package/dist/dist/server-safe/scheduleListOrder.js.map +1 -0
- package/dist/dist/server-safe/scheduleListOrder.test.d.ts +2 -0
- package/dist/dist/server-safe/scheduleListOrder.test.d.ts.map +1 -0
- package/dist/dist/server-safe/scheduleListOrder.test.js +260 -0
- package/dist/dist/server-safe/scheduleListOrder.test.js.map +1 -0
- package/dist/dist/server-safe/serviceMinutes.d.ts +13 -0
- package/dist/dist/server-safe/serviceMinutes.d.ts.map +1 -0
- package/dist/dist/server-safe/serviceMinutes.js +38 -0
- package/dist/dist/server-safe/serviceMinutes.js.map +1 -0
- package/dist/dist/server-safe/serviceMinutes.test.d.ts +2 -0
- package/dist/dist/server-safe/serviceMinutes.test.d.ts.map +1 -0
- package/dist/dist/server-safe/serviceMinutes.test.js +86 -0
- package/dist/dist/server-safe/serviceMinutes.test.js.map +1 -0
- package/dist/dist/server-safe/settingsSearch.d.ts +24 -0
- package/dist/dist/server-safe/settingsSearch.d.ts.map +1 -0
- package/dist/dist/server-safe/settingsSearch.js +8 -0
- package/dist/dist/server-safe/settingsSearch.js.map +1 -0
- package/dist/dist/server-safe/supportChat.d.ts +59 -0
- package/dist/dist/server-safe/supportChat.d.ts.map +1 -0
- package/dist/dist/server-safe/supportChat.js +56 -0
- package/dist/dist/server-safe/supportChat.js.map +1 -0
- package/dist/dist/server-safe/templates.d.ts +15 -0
- package/dist/dist/server-safe/templates.d.ts.map +1 -0
- package/dist/dist/server-safe/templates.js +91 -0
- package/dist/dist/server-safe/templates.js.map +1 -0
- package/dist/dist/server-safe/templates.test.d.ts +2 -0
- package/dist/dist/server-safe/templates.test.d.ts.map +1 -0
- package/dist/dist/server-safe/templates.test.js +62 -0
- package/dist/dist/server-safe/templates.test.js.map +1 -0
- package/dist/dist/server-safe/trash.d.ts +50 -0
- package/dist/dist/server-safe/trash.d.ts.map +1 -0
- package/dist/dist/server-safe/trash.js +100 -0
- package/dist/dist/server-safe/trash.js.map +1 -0
- package/dist/dist/utils/LogHandler.d.ts +3 -0
- package/dist/dist/utils/LogHandler.d.ts.map +1 -0
- package/dist/dist/utils/LogHandler.js +16 -0
- package/dist/dist/utils/LogHandler.js.map +1 -0
- package/dist/dist/utils/convertSupabaseImagesToAssets.d.ts +28 -0
- package/dist/dist/utils/convertSupabaseImagesToAssets.d.ts.map +1 -0
- package/dist/dist/utils/convertSupabaseImagesToAssets.js +14 -0
- package/dist/dist/utils/convertSupabaseImagesToAssets.js.map +1 -0
- package/dist/index.d.ts +45 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +61 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/index.d.ts +1238 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/interfaces/index.js +3 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/providers/AddressProvider.d.ts +9 -0
- package/dist/providers/AddressProvider.d.ts.map +1 -0
- package/dist/providers/AddressProvider.js +207 -0
- package/dist/providers/AddressProvider.js.map +1 -0
- package/dist/providers/AutomationsProvider.d.ts +11 -0
- package/dist/providers/AutomationsProvider.d.ts.map +1 -0
- package/dist/providers/AutomationsProvider.js +170 -0
- package/dist/providers/AutomationsProvider.js.map +1 -0
- package/dist/providers/BlockedNumbersProvider.d.ts +7 -0
- package/dist/providers/BlockedNumbersProvider.d.ts.map +1 -0
- package/dist/providers/BlockedNumbersProvider.js +71 -0
- package/dist/providers/BlockedNumbersProvider.js.map +1 -0
- package/dist/providers/CategoryProvider.d.ts +8 -0
- package/dist/providers/CategoryProvider.d.ts.map +1 -0
- package/dist/providers/CategoryProvider.js +95 -0
- package/dist/providers/CategoryProvider.js.map +1 -0
- package/dist/providers/ClientProvider.d.ts +39 -0
- package/dist/providers/ClientProvider.d.ts.map +1 -0
- package/dist/providers/ClientProvider.js +253 -0
- package/dist/providers/ClientProvider.js.map +1 -0
- package/dist/providers/CompanyProvider.d.ts +7 -0
- package/dist/providers/CompanyProvider.d.ts.map +1 -0
- package/dist/providers/CompanyProvider.js +114 -0
- package/dist/providers/CompanyProvider.js.map +1 -0
- package/dist/providers/DashboardProvider.d.ts +78 -0
- package/dist/providers/DashboardProvider.d.ts.map +1 -0
- package/dist/providers/DashboardProvider.js +568 -0
- package/dist/providers/DashboardProvider.js.map +1 -0
- package/dist/providers/DiscountProvider.d.ts +8 -0
- package/dist/providers/DiscountProvider.d.ts.map +1 -0
- package/dist/providers/DiscountProvider.js +92 -0
- package/dist/providers/DiscountProvider.js.map +1 -0
- package/dist/providers/EmployeesProvider.d.ts +6 -0
- package/dist/providers/EmployeesProvider.d.ts.map +1 -0
- package/dist/providers/EmployeesProvider.js +185 -0
- package/dist/providers/EmployeesProvider.js.map +1 -0
- package/dist/providers/EstimatesProvider.d.ts +16 -0
- package/dist/providers/EstimatesProvider.d.ts.map +1 -0
- package/dist/providers/EstimatesProvider.js +251 -0
- package/dist/providers/EstimatesProvider.js.map +1 -0
- package/dist/providers/EventsProvider.d.ts +4 -0
- package/dist/providers/EventsProvider.d.ts.map +1 -0
- package/dist/providers/EventsProvider.js +24 -0
- package/dist/providers/EventsProvider.js.map +1 -0
- package/dist/providers/FilesProvider.d.ts +17 -0
- package/dist/providers/FilesProvider.d.ts.map +1 -0
- package/dist/providers/FilesProvider.js +201 -0
- package/dist/providers/FilesProvider.js.map +1 -0
- package/dist/providers/InvoicesProvider.d.ts +13 -0
- package/dist/providers/InvoicesProvider.d.ts.map +1 -0
- package/dist/providers/InvoicesProvider.js +207 -0
- package/dist/providers/InvoicesProvider.js.map +1 -0
- package/dist/providers/ItemProvider.d.ts +9 -0
- package/dist/providers/ItemProvider.d.ts.map +1 -0
- package/dist/providers/ItemProvider.js +201 -0
- package/dist/providers/ItemProvider.js.map +1 -0
- package/dist/providers/JobSourceProvider.d.ts +8 -0
- package/dist/providers/JobSourceProvider.d.ts.map +1 -0
- package/dist/providers/JobSourceProvider.js +75 -0
- package/dist/providers/JobSourceProvider.js.map +1 -0
- package/dist/providers/JobTypeProvider.d.ts +8 -0
- package/dist/providers/JobTypeProvider.d.ts.map +1 -0
- package/dist/providers/JobTypeProvider.js +75 -0
- package/dist/providers/JobTypeProvider.js.map +1 -0
- package/dist/providers/JobsProvider.d.ts +20 -0
- package/dist/providers/JobsProvider.d.ts.map +1 -0
- package/dist/providers/JobsProvider.js +863 -0
- package/dist/providers/JobsProvider.js.map +1 -0
- package/dist/providers/MessagesProvider.d.ts +14 -0
- package/dist/providers/MessagesProvider.d.ts.map +1 -0
- package/dist/providers/MessagesProvider.js +415 -0
- package/dist/providers/MessagesProvider.js.map +1 -0
- package/dist/providers/PaymentProvider.d.ts +9 -0
- package/dist/providers/PaymentProvider.d.ts.map +1 -0
- package/dist/providers/PaymentProvider.js +48 -0
- package/dist/providers/PaymentProvider.js.map +1 -0
- package/dist/providers/PermissionRolesProvider.d.ts +5 -0
- package/dist/providers/PermissionRolesProvider.d.ts.map +1 -0
- package/dist/providers/PermissionRolesProvider.js +30 -0
- package/dist/providers/PermissionRolesProvider.js.map +1 -0
- package/dist/providers/PhoneNumberProvider.d.ts +12 -0
- package/dist/providers/PhoneNumberProvider.d.ts.map +1 -0
- package/dist/providers/PhoneNumberProvider.js +184 -0
- package/dist/providers/PhoneNumberProvider.js.map +1 -0
- package/dist/providers/ProfileProvider.d.ts +6 -0
- package/dist/providers/ProfileProvider.d.ts.map +1 -0
- package/dist/providers/ProfileProvider.js +71 -0
- package/dist/providers/ProfileProvider.js.map +1 -0
- package/dist/providers/RentalsProvider.d.ts +28 -0
- package/dist/providers/RentalsProvider.d.ts.map +1 -0
- package/dist/providers/RentalsProvider.js +438 -0
- package/dist/providers/RentalsProvider.js.map +1 -0
- package/dist/providers/SettingsBookingProvider.d.ts +9 -0
- package/dist/providers/SettingsBookingProvider.d.ts.map +1 -0
- package/dist/providers/SettingsBookingProvider.js +163 -0
- package/dist/providers/SettingsBookingProvider.js.map +1 -0
- package/dist/providers/SettingsProvider.d.ts +8 -0
- package/dist/providers/SettingsProvider.d.ts.map +1 -0
- package/dist/providers/SettingsProvider.js +86 -0
- package/dist/providers/SettingsProvider.js.map +1 -0
- package/dist/providers/TagsProvider.d.ts +12 -0
- package/dist/providers/TagsProvider.d.ts.map +1 -0
- package/dist/providers/TagsProvider.js +210 -0
- package/dist/providers/TagsProvider.js.map +1 -0
- package/dist/providers/TimeCardProvider.d.ts +8 -0
- package/dist/providers/TimeCardProvider.d.ts.map +1 -0
- package/dist/providers/TimeCardProvider.js +93 -0
- package/dist/providers/TimeCardProvider.js.map +1 -0
- package/dist/providers/TrashProvider.d.ts +13 -0
- package/dist/providers/TrashProvider.d.ts.map +1 -0
- package/dist/providers/TrashProvider.js +98 -0
- package/dist/providers/TrashProvider.js.map +1 -0
- package/dist/providers/dashboardAnalytics.d.ts +9 -0
- package/dist/providers/dashboardAnalytics.d.ts.map +1 -0
- package/dist/providers/dashboardAnalytics.js +41 -0
- package/dist/providers/dashboardAnalytics.js.map +1 -0
- package/dist/providers/dashboardAnalytics.test.d.ts +2 -0
- package/dist/providers/dashboardAnalytics.test.d.ts.map +1 -0
- package/dist/providers/dashboardAnalytics.test.js +111 -0
- package/dist/providers/dashboardAnalytics.test.js.map +1 -0
- package/dist/server-safe/BlockedNumberFunctions.d.ts +11 -0
- package/dist/server-safe/BlockedNumberFunctions.d.ts.map +1 -0
- package/dist/server-safe/BlockedNumberFunctions.js +16 -0
- package/dist/server-safe/BlockedNumberFunctions.js.map +1 -0
- package/dist/server-safe/EmployeeFunctions.d.ts +14 -0
- package/dist/server-safe/EmployeeFunctions.d.ts.map +1 -0
- package/dist/server-safe/EmployeeFunctions.js +70 -0
- package/dist/server-safe/EmployeeFunctions.js.map +1 -0
- package/dist/server-safe/EmployeeLocationFunctions.d.ts +7 -0
- package/dist/server-safe/EmployeeLocationFunctions.d.ts.map +1 -0
- package/dist/server-safe/EmployeeLocationFunctions.js +47 -0
- package/dist/server-safe/EmployeeLocationFunctions.js.map +1 -0
- package/dist/server-safe/EstimateFunctions.d.ts +15 -0
- package/dist/server-safe/EstimateFunctions.d.ts.map +1 -0
- package/dist/server-safe/EstimateFunctions.js +34 -0
- package/dist/server-safe/EstimateFunctions.js.map +1 -0
- package/dist/server-safe/InvoiceFunctions.d.ts +21 -0
- package/dist/server-safe/InvoiceFunctions.d.ts.map +1 -0
- package/dist/server-safe/InvoiceFunctions.js +124 -0
- package/dist/server-safe/InvoiceFunctions.js.map +1 -0
- package/dist/server-safe/JobFunctions.d.ts +15 -0
- package/dist/server-safe/JobFunctions.d.ts.map +1 -0
- package/dist/server-safe/JobFunctions.js +56 -0
- package/dist/server-safe/JobFunctions.js.map +1 -0
- package/dist/server-safe/PaymentFunctions.d.ts +16 -0
- package/dist/server-safe/PaymentFunctions.d.ts.map +1 -0
- package/dist/server-safe/PaymentFunctions.js +80 -0
- package/dist/server-safe/PaymentFunctions.js.map +1 -0
- package/dist/server-safe/PermissionFunctions.d.ts +7 -0
- package/dist/server-safe/PermissionFunctions.d.ts.map +1 -0
- package/dist/server-safe/PermissionFunctions.js +39 -0
- package/dist/server-safe/PermissionFunctions.js.map +1 -0
- package/dist/server-safe/TagFunctions.d.ts +18 -0
- package/dist/server-safe/TagFunctions.d.ts.map +1 -0
- package/dist/server-safe/TagFunctions.js +52 -0
- package/dist/server-safe/TagFunctions.js.map +1 -0
- package/dist/server-safe/autoJobType.d.ts +16 -0
- package/dist/server-safe/autoJobType.d.ts.map +1 -0
- package/dist/server-safe/autoJobType.js +39 -0
- package/dist/server-safe/autoJobType.js.map +1 -0
- package/dist/server-safe/autoJobType.test.d.ts +2 -0
- package/dist/server-safe/autoJobType.test.d.ts.map +1 -0
- package/dist/server-safe/autoJobType.test.js +83 -0
- package/dist/server-safe/autoJobType.test.js.map +1 -0
- package/dist/server-safe/automations.d.ts +197 -0
- package/dist/server-safe/automations.d.ts.map +1 -0
- package/dist/server-safe/automations.js +757 -0
- package/dist/server-safe/automations.js.map +1 -0
- package/dist/server-safe/automations.test.d.ts +2 -0
- package/dist/server-safe/automations.test.d.ts.map +1 -0
- package/dist/server-safe/automations.test.js +441 -0
- package/dist/server-safe/automations.test.js.map +1 -0
- package/dist/server-safe/constants.d.ts +156 -0
- package/dist/server-safe/constants.d.ts.map +1 -0
- package/dist/server-safe/constants.js +186 -0
- package/dist/server-safe/constants.js.map +1 -0
- package/dist/server-safe/contracts.d.ts +3 -0
- package/dist/server-safe/contracts.d.ts.map +1 -0
- package/dist/server-safe/contracts.js +15 -0
- package/dist/server-safe/contracts.js.map +1 -0
- package/dist/server-safe/database.types.d.ts +9510 -0
- package/dist/server-safe/database.types.d.ts.map +1 -0
- package/dist/server-safe/database.types.js +40 -0
- package/dist/server-safe/database.types.js.map +1 -0
- package/dist/server-safe/entitlements.d.ts +99 -0
- package/dist/server-safe/entitlements.d.ts.map +1 -0
- package/dist/server-safe/entitlements.js +487 -0
- package/dist/server-safe/entitlements.js.map +1 -0
- package/dist/server-safe/helpers.d.ts +78 -0
- package/dist/server-safe/helpers.d.ts.map +1 -0
- package/dist/server-safe/helpers.js +569 -0
- package/dist/server-safe/helpers.js.map +1 -0
- package/dist/server-safe/index.d.ts +30 -0
- package/dist/server-safe/index.d.ts.map +1 -0
- package/dist/server-safe/index.js +46 -0
- package/dist/server-safe/index.js.map +1 -0
- package/dist/server-safe/permissions.d.ts +29 -0
- package/dist/server-safe/permissions.d.ts.map +1 -0
- package/dist/server-safe/permissions.js +180 -0
- package/dist/server-safe/permissions.js.map +1 -0
- package/dist/server-safe/proposals.d.ts +6 -0
- package/dist/server-safe/proposals.d.ts.map +1 -0
- package/dist/server-safe/proposals.js +58 -0
- package/dist/server-safe/proposals.js.map +1 -0
- package/dist/server-safe/rentalAvailability.d.ts +56 -0
- package/dist/server-safe/rentalAvailability.d.ts.map +1 -0
- package/dist/server-safe/rentalAvailability.js +124 -0
- package/dist/server-safe/rentalAvailability.js.map +1 -0
- package/dist/server-safe/rentalAvailability.test.d.ts +2 -0
- package/dist/server-safe/rentalAvailability.test.d.ts.map +1 -0
- package/dist/server-safe/rentalAvailability.test.js +290 -0
- package/dist/server-safe/rentalAvailability.test.js.map +1 -0
- package/dist/server-safe/rentals.d.ts +95 -0
- package/dist/server-safe/rentals.d.ts.map +1 -0
- package/dist/server-safe/rentals.js +432 -0
- package/dist/server-safe/rentals.js.map +1 -0
- package/dist/server-safe/rentals.test.d.ts +2 -0
- package/dist/server-safe/rentals.test.d.ts.map +1 -0
- package/dist/server-safe/rentals.test.js +1034 -0
- package/dist/server-safe/rentals.test.js.map +1 -0
- package/dist/server-safe/routeOptimization.d.ts +155 -0
- package/dist/server-safe/routeOptimization.d.ts.map +1 -0
- package/dist/server-safe/routeOptimization.js +120 -0
- package/dist/server-safe/routeOptimization.js.map +1 -0
- package/dist/server-safe/routeOptimization.test.d.ts +2 -0
- package/dist/server-safe/routeOptimization.test.d.ts.map +1 -0
- package/dist/server-safe/routeOptimization.test.js +234 -0
- package/dist/server-safe/routeOptimization.test.js.map +1 -0
- package/dist/server-safe/routePlanFingerprint.d.ts +13 -0
- package/dist/server-safe/routePlanFingerprint.d.ts.map +1 -0
- package/dist/server-safe/routePlanFingerprint.js +49 -0
- package/dist/server-safe/routePlanFingerprint.js.map +1 -0
- package/dist/server-safe/routePlanFingerprint.test.d.ts +2 -0
- package/dist/server-safe/routePlanFingerprint.test.d.ts.map +1 -0
- package/dist/server-safe/routePlanFingerprint.test.js +68 -0
- package/dist/server-safe/routePlanFingerprint.test.js.map +1 -0
- package/dist/server-safe/scheduleListOrder.d.ts +18 -0
- package/dist/server-safe/scheduleListOrder.d.ts.map +1 -0
- package/dist/server-safe/scheduleListOrder.js +92 -0
- package/dist/server-safe/scheduleListOrder.js.map +1 -0
- package/dist/server-safe/scheduleListOrder.test.d.ts +2 -0
- package/dist/server-safe/scheduleListOrder.test.d.ts.map +1 -0
- package/dist/server-safe/scheduleListOrder.test.js +260 -0
- package/dist/server-safe/scheduleListOrder.test.js.map +1 -0
- package/dist/server-safe/serviceMinutes.d.ts +13 -0
- package/dist/server-safe/serviceMinutes.d.ts.map +1 -0
- package/dist/server-safe/serviceMinutes.js +38 -0
- package/dist/server-safe/serviceMinutes.js.map +1 -0
- package/dist/server-safe/serviceMinutes.test.d.ts +2 -0
- package/dist/server-safe/serviceMinutes.test.d.ts.map +1 -0
- package/dist/server-safe/serviceMinutes.test.js +86 -0
- package/dist/server-safe/serviceMinutes.test.js.map +1 -0
- package/dist/server-safe/settingsSearch.d.ts +24 -0
- package/dist/server-safe/settingsSearch.d.ts.map +1 -0
- package/dist/server-safe/settingsSearch.js +8 -0
- package/dist/server-safe/settingsSearch.js.map +1 -0
- package/dist/server-safe/supportChat.d.ts +59 -0
- package/dist/server-safe/supportChat.d.ts.map +1 -0
- package/dist/server-safe/supportChat.js +56 -0
- package/dist/server-safe/supportChat.js.map +1 -0
- package/dist/server-safe/templates.d.ts +15 -0
- package/dist/server-safe/templates.d.ts.map +1 -0
- package/dist/server-safe/templates.js +91 -0
- package/dist/server-safe/templates.js.map +1 -0
- package/dist/server-safe/templates.test.d.ts +2 -0
- package/dist/server-safe/templates.test.d.ts.map +1 -0
- package/dist/server-safe/templates.test.js +62 -0
- package/dist/server-safe/templates.test.js.map +1 -0
- package/dist/server-safe/trash.d.ts +50 -0
- package/dist/server-safe/trash.d.ts.map +1 -0
- package/dist/server-safe/trash.js +100 -0
- package/dist/server-safe/trash.js.map +1 -0
- package/dist/utils/LogHandler.d.ts +3 -0
- package/dist/utils/LogHandler.d.ts.map +1 -0
- package/dist/utils/LogHandler.js +16 -0
- package/dist/utils/LogHandler.js.map +1 -0
- package/dist/utils/convertSupabaseImagesToAssets.d.ts +28 -0
- package/dist/utils/convertSupabaseImagesToAssets.d.ts.map +1 -0
- package/dist/utils/convertSupabaseImagesToAssets.js +14 -0
- package/dist/utils/convertSupabaseImagesToAssets.js.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
alter table "public"."employee_location" enable row level security;
|
|
2
|
+
|
|
3
|
+
grant select, insert, update, delete on table "public"."employee_location" to authenticated;
|
|
4
|
+
grant all on table "public"."employee_location" to service_role;
|
|
5
|
+
|
|
6
|
+
create policy "Employee locations selectable by self or owners/admins"
|
|
7
|
+
on "public"."employee_location"
|
|
8
|
+
for select
|
|
9
|
+
to authenticated
|
|
10
|
+
using (
|
|
11
|
+
(
|
|
12
|
+
nullif(
|
|
13
|
+
trim(both '"' from ("public"."get_my_claim"('autopilot_company_id'::text))::text),
|
|
14
|
+
''::text
|
|
15
|
+
)
|
|
16
|
+
)::uuid = "company_id"
|
|
17
|
+
and exists (
|
|
18
|
+
select 1
|
|
19
|
+
from "public"."user" as "tracked_user"
|
|
20
|
+
where "tracked_user"."id" = "employee_location"."user_id"
|
|
21
|
+
and "tracked_user"."company_id" = "employee_location"."company_id"
|
|
22
|
+
and "tracked_user"."is_current_employee" = true
|
|
23
|
+
and "tracked_user"."subcontractor" = false
|
|
24
|
+
and "tracked_user"."location_tracking_enabled" = true
|
|
25
|
+
)
|
|
26
|
+
and exists (
|
|
27
|
+
select 1
|
|
28
|
+
from "public"."time_card" as "active_shift"
|
|
29
|
+
where "active_shift"."user_id" = "employee_location"."user_id"
|
|
30
|
+
and "active_shift"."company_id" = "employee_location"."company_id"
|
|
31
|
+
and "active_shift"."clock_out" is null
|
|
32
|
+
)
|
|
33
|
+
and (
|
|
34
|
+
"auth"."uid"() = "user_id"
|
|
35
|
+
or coalesce(
|
|
36
|
+
("public"."get_my_claim"('autopilot_role'::text))::text,
|
|
37
|
+
''::text
|
|
38
|
+
) in ('"owner"'::text, '"admin"'::text)
|
|
39
|
+
)
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
create policy "Employees can insert their own current location"
|
|
43
|
+
on "public"."employee_location"
|
|
44
|
+
for insert
|
|
45
|
+
to authenticated
|
|
46
|
+
with check (
|
|
47
|
+
"auth"."uid"() = "user_id"
|
|
48
|
+
and (
|
|
49
|
+
nullif(
|
|
50
|
+
trim(both '"' from ("public"."get_my_claim"('autopilot_company_id'::text))::text),
|
|
51
|
+
''::text
|
|
52
|
+
)
|
|
53
|
+
)::uuid = "company_id"
|
|
54
|
+
and exists (
|
|
55
|
+
select 1
|
|
56
|
+
from "public"."user" as "tracked_user"
|
|
57
|
+
where "tracked_user"."id" = "employee_location"."user_id"
|
|
58
|
+
and "tracked_user"."company_id" = "employee_location"."company_id"
|
|
59
|
+
and "tracked_user"."is_current_employee" = true
|
|
60
|
+
and "tracked_user"."subcontractor" = false
|
|
61
|
+
and "tracked_user"."location_tracking_enabled" = true
|
|
62
|
+
)
|
|
63
|
+
and exists (
|
|
64
|
+
select 1
|
|
65
|
+
from "public"."time_card" as "active_shift"
|
|
66
|
+
where "active_shift"."user_id" = "employee_location"."user_id"
|
|
67
|
+
and "active_shift"."company_id" = "employee_location"."company_id"
|
|
68
|
+
and "active_shift"."clock_out" is null
|
|
69
|
+
)
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
create policy "Employees can update their own current location"
|
|
73
|
+
on "public"."employee_location"
|
|
74
|
+
for update
|
|
75
|
+
to authenticated
|
|
76
|
+
using (
|
|
77
|
+
"auth"."uid"() = "user_id"
|
|
78
|
+
and (
|
|
79
|
+
nullif(
|
|
80
|
+
trim(both '"' from ("public"."get_my_claim"('autopilot_company_id'::text))::text),
|
|
81
|
+
''::text
|
|
82
|
+
)
|
|
83
|
+
)::uuid = "company_id"
|
|
84
|
+
and exists (
|
|
85
|
+
select 1
|
|
86
|
+
from "public"."user" as "tracked_user"
|
|
87
|
+
where "tracked_user"."id" = "employee_location"."user_id"
|
|
88
|
+
and "tracked_user"."company_id" = "employee_location"."company_id"
|
|
89
|
+
and "tracked_user"."is_current_employee" = true
|
|
90
|
+
and "tracked_user"."subcontractor" = false
|
|
91
|
+
and "tracked_user"."location_tracking_enabled" = true
|
|
92
|
+
)
|
|
93
|
+
and exists (
|
|
94
|
+
select 1
|
|
95
|
+
from "public"."time_card" as "active_shift"
|
|
96
|
+
where "active_shift"."user_id" = "employee_location"."user_id"
|
|
97
|
+
and "active_shift"."company_id" = "employee_location"."company_id"
|
|
98
|
+
and "active_shift"."clock_out" is null
|
|
99
|
+
)
|
|
100
|
+
)
|
|
101
|
+
with check (
|
|
102
|
+
"auth"."uid"() = "user_id"
|
|
103
|
+
and (
|
|
104
|
+
nullif(
|
|
105
|
+
trim(both '"' from ("public"."get_my_claim"('autopilot_company_id'::text))::text),
|
|
106
|
+
''::text
|
|
107
|
+
)
|
|
108
|
+
)::uuid = "company_id"
|
|
109
|
+
and exists (
|
|
110
|
+
select 1
|
|
111
|
+
from "public"."user" as "tracked_user"
|
|
112
|
+
where "tracked_user"."id" = "employee_location"."user_id"
|
|
113
|
+
and "tracked_user"."company_id" = "employee_location"."company_id"
|
|
114
|
+
and "tracked_user"."is_current_employee" = true
|
|
115
|
+
and "tracked_user"."subcontractor" = false
|
|
116
|
+
and "tracked_user"."location_tracking_enabled" = true
|
|
117
|
+
)
|
|
118
|
+
and exists (
|
|
119
|
+
select 1
|
|
120
|
+
from "public"."time_card" as "active_shift"
|
|
121
|
+
where "active_shift"."user_id" = "employee_location"."user_id"
|
|
122
|
+
and "active_shift"."company_id" = "employee_location"."company_id"
|
|
123
|
+
and "active_shift"."clock_out" is null
|
|
124
|
+
)
|
|
125
|
+
);
|
|
126
|
+
|
|
127
|
+
create policy "Employee locations deletable by self or owners/admins"
|
|
128
|
+
on "public"."employee_location"
|
|
129
|
+
for delete
|
|
130
|
+
to authenticated
|
|
131
|
+
using (
|
|
132
|
+
(
|
|
133
|
+
nullif(
|
|
134
|
+
trim(both '"' from ("public"."get_my_claim"('autopilot_company_id'::text))::text),
|
|
135
|
+
''::text
|
|
136
|
+
)
|
|
137
|
+
)::uuid = "company_id"
|
|
138
|
+
and exists (
|
|
139
|
+
select 1
|
|
140
|
+
from "public"."user" as "tracked_user"
|
|
141
|
+
where "tracked_user"."id" = "employee_location"."user_id"
|
|
142
|
+
and "tracked_user"."company_id" = "employee_location"."company_id"
|
|
143
|
+
and "tracked_user"."is_current_employee" = true
|
|
144
|
+
and "tracked_user"."subcontractor" = false
|
|
145
|
+
and "tracked_user"."location_tracking_enabled" = true
|
|
146
|
+
)
|
|
147
|
+
and (
|
|
148
|
+
"auth"."uid"() = "user_id"
|
|
149
|
+
or coalesce(
|
|
150
|
+
("public"."get_my_claim"('autopilot_role'::text))::text,
|
|
151
|
+
''::text
|
|
152
|
+
) in ('"owner"'::text, '"admin"'::text)
|
|
153
|
+
)
|
|
154
|
+
);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
create or replace function public.get_client_map_last_completed_jobs(
|
|
2
|
+
company_id_param uuid
|
|
3
|
+
)
|
|
4
|
+
returns table (
|
|
5
|
+
client_id uuid,
|
|
6
|
+
last_completed_at timestamptz
|
|
7
|
+
)
|
|
8
|
+
language sql
|
|
9
|
+
stable
|
|
10
|
+
security invoker
|
|
11
|
+
set search_path = ''
|
|
12
|
+
as $$
|
|
13
|
+
select
|
|
14
|
+
job.client_id,
|
|
15
|
+
max(schedule.end_time) as last_completed_at
|
|
16
|
+
from public.job as job
|
|
17
|
+
inner join public.job_schedule as schedule
|
|
18
|
+
on schedule.job_id = job.id
|
|
19
|
+
where job.company_id = company_id_param
|
|
20
|
+
and schedule.company_id = company_id_param
|
|
21
|
+
and job.is_deleted is not true
|
|
22
|
+
and schedule.status = 'Completed'::public.job_status_enum
|
|
23
|
+
and schedule.end_time <= now()
|
|
24
|
+
group by job.client_id;
|
|
25
|
+
$$;
|
|
26
|
+
|
|
27
|
+
comment on function public.get_client_map_last_completed_jobs(uuid) is
|
|
28
|
+
'Returns each client''s most recent completed job schedule for the map.';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
create table if not exists "public"."blast_email_chunk" (
|
|
2
|
+
"id" uuid default gen_random_uuid() not null,
|
|
3
|
+
"created_at" timestamp with time zone default now() not null,
|
|
4
|
+
"blast_email_id" uuid not null,
|
|
5
|
+
"company_id" uuid not null,
|
|
6
|
+
"qstash_message_id" text not null,
|
|
7
|
+
"status" text not null,
|
|
8
|
+
-- per-chunk delivery outcomes; blast_email totals are derived by
|
|
9
|
+
-- aggregating these, so concurrent chunk workers never lose updates
|
|
10
|
+
"successful_count" integer,
|
|
11
|
+
"failed_count" integer,
|
|
12
|
+
-- when the worker claimed this chunk; a chunk 'processing' for longer
|
|
13
|
+
-- than the worker's max runtime belongs to a hard-killed worker and is
|
|
14
|
+
-- reaped as failed so the blast can still complete
|
|
15
|
+
"claimed_at" timestamp with time zone,
|
|
16
|
+
"recipient_count" integer
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
alter table only "public"."blast_email_chunk"
|
|
20
|
+
add constraint "blast_email_chunk_pkey" primary key ("id");
|
|
21
|
+
|
|
22
|
+
alter table only "public"."blast_email_chunk"
|
|
23
|
+
add constraint "blast_email_chunk_blast_email_id_fkey"
|
|
24
|
+
foreign key ("blast_email_id") references "public"."blast_email"("id") on delete cascade;
|
|
25
|
+
|
|
26
|
+
alter table only "public"."blast_email_chunk"
|
|
27
|
+
add constraint "blast_email_chunk_company_id_fkey"
|
|
28
|
+
foreign key ("company_id") references "public"."company"("id") on delete cascade;
|
|
29
|
+
|
|
30
|
+
-- The worker cancels remaining chunks by blast_email_id on abort, and claims
|
|
31
|
+
-- each chunk by qstash_message_id on every invocation.
|
|
32
|
+
create index if not exists "blast_email_chunk_blast_email_id_idx"
|
|
33
|
+
on "public"."blast_email_chunk" ("blast_email_id");
|
|
34
|
+
|
|
35
|
+
create index if not exists "blast_email_chunk_qstash_message_id_idx"
|
|
36
|
+
on "public"."blast_email_chunk" ("qstash_message_id");
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
alter table "public"."blast_email_chunk" enable row level security;
|
|
2
|
+
|
|
3
|
+
create policy "Read-only for matching companyId" on "public"."blast_email_chunk"
|
|
4
|
+
for select to "authenticated"
|
|
5
|
+
using (((NULLIF(TRIM(BOTH '"' FROM ("public"."get_my_claim"('autopilot_company_id'::"text"))::"text"), ''::"text"))::"uuid" = "company_id"));
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
create table if not exists "public"."email_hard_bounced" (
|
|
2
|
+
"id" uuid default gen_random_uuid() not null,
|
|
3
|
+
"created_at" timestamp with time zone default now() not null,
|
|
4
|
+
"recipient_email" text not null,
|
|
5
|
+
"company_id" uuid
|
|
6
|
+
);
|
|
7
|
+
|
|
8
|
+
alter table only "public"."email_hard_bounced"
|
|
9
|
+
add constraint "email_hard_bounced_pkey" primary key ("id");
|
|
10
|
+
|
|
11
|
+
alter table only "public"."email_hard_bounced"
|
|
12
|
+
add constraint "email_hard_bounced_recipient_email_key" unique ("recipient_email");
|
|
13
|
+
|
|
14
|
+
-- Suppression lookups compare lowercased addresses; enforce the invariant at
|
|
15
|
+
-- the database so a mixed-case insert can't silently bypass the unique
|
|
16
|
+
-- constraint and the send-time filter.
|
|
17
|
+
alter table only "public"."email_hard_bounced"
|
|
18
|
+
add constraint "email_hard_bounced_recipient_email_lower_check"
|
|
19
|
+
check (recipient_email = lower(recipient_email));
|
|
20
|
+
|
|
21
|
+
alter table only "public"."email_hard_bounced"
|
|
22
|
+
add constraint "email_hard_bounced_company_id_fkey"
|
|
23
|
+
foreign key ("company_id") references "public"."company"("id") on delete set null;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
alter table "public"."email_hard_bounced" enable row level security;
|
|
2
|
+
|
|
3
|
+
create policy "Read-only for matching companyId" on "public"."email_hard_bounced"
|
|
4
|
+
for select to "authenticated"
|
|
5
|
+
using (((NULLIF(TRIM(BOTH '"' FROM ("public"."get_my_claim"('autopilot_company_id'::"text"))::"text"), ''::"text"))::"uuid" = "company_id"));
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
-- The sequences cron fetches sequence_contact rows whose when_to_send matches
|
|
2
|
+
-- the current minute and sends them with no send-time claim: two invocations
|
|
3
|
+
-- landing in the same minute (overlapping runs, a manual trigger next to the
|
|
4
|
+
-- schedule) would each send the full batch. Blasts and reminders already claim
|
|
5
|
+
-- before sending; this brings sequences in line.
|
|
6
|
+
--
|
|
7
|
+
-- sent_at is the claim marker. The cron atomically sets it (update ... where
|
|
8
|
+
-- sent_at is null, returning claimed ids) and only sends the rows it won.
|
|
9
|
+
-- Null = not yet sent; non-null = claimed by a send attempt. A claim is never
|
|
10
|
+
-- released even if the send then fails - after any network call we can't know
|
|
11
|
+
-- whether the message was delivered, so releasing could double-text (same
|
|
12
|
+
-- fail-closed semantics as reminder_dispatch). Rows are kept after they
|
|
13
|
+
-- execute, so sent_at also serves as sent history going forward.
|
|
14
|
+
--
|
|
15
|
+
-- No backfill: already-executed rows keep sent_at null, which is safe because
|
|
16
|
+
-- the cron only ever matches when_to_send against the current minute, so past
|
|
17
|
+
-- rows can never fire again.
|
|
18
|
+
alter table public.sequence_contact
|
|
19
|
+
add column sent_at timestamp with time zone;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
-- Support the sequences cron's due-row lookup (when_to_send = <minute> and
|
|
2
|
+
-- sent_at is null). sequence_contact rows are kept forever as history, and
|
|
3
|
+
-- the only existing indexes are the id primary key and the #62 unique
|
|
4
|
+
-- constraint, which leads on client_id and can't serve a when_to_send
|
|
5
|
+
-- lookup - so every cron tick would seq-scan an ever-growing table.
|
|
6
|
+
--
|
|
7
|
+
-- Partial on sent_at is null so the index only ever holds unsent rows:
|
|
8
|
+
-- claimed rows drop out automatically, keeping the hot set at roughly the
|
|
9
|
+
-- currently scheduled future sends regardless of how much history piles up.
|
|
10
|
+
create index sequence_contact_unsent_when_to_send_idx
|
|
11
|
+
on public.sequence_contact (when_to_send)
|
|
12
|
+
where sent_at is null;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
-- Outbound event log ("outbox") for integration webhooks.
|
|
2
|
+
-- AFTER triggers on client/job/invoice/estimate (and their child tables)
|
|
3
|
+
-- append rows here; a worker in autopilot-web fans them out to
|
|
4
|
+
-- webhook_subscription targets. The event log is deliberately separate from
|
|
5
|
+
-- delivery bookkeeping (webhook_delivery) so additional consumers (e.g. a
|
|
6
|
+
-- future QuickBooks sync rewrite) can read the same events.
|
|
7
|
+
--
|
|
8
|
+
-- Payloads are composed at delivery time by re-reading the entity, so events
|
|
9
|
+
-- carry no snapshot except for *.deleted events, whose rows no longer exist
|
|
10
|
+
-- by the time the worker runs.
|
|
11
|
+
|
|
12
|
+
create table if not exists "public"."outbound_event" (
|
|
13
|
+
"id" uuid default gen_random_uuid() not null,
|
|
14
|
+
"created_at" timestamp with time zone default now() not null,
|
|
15
|
+
"company_id" uuid not null,
|
|
16
|
+
"entity_type" text not null,
|
|
17
|
+
"entity_id" uuid not null,
|
|
18
|
+
"event_type" text not null,
|
|
19
|
+
-- the physical operation that fired the trigger (INSERT/UPDATE/DELETE);
|
|
20
|
+
-- differs from event_type when a child-table write emits a parent
|
|
21
|
+
-- .updated event
|
|
22
|
+
"op" text not null,
|
|
23
|
+
-- table whose trigger emitted the event, e.g. 'job_item' for a
|
|
24
|
+
-- line-item change that surfaces as job.updated
|
|
25
|
+
"source_table" text not null,
|
|
26
|
+
-- to_jsonb(OLD) for *.deleted events only; null otherwise
|
|
27
|
+
"snapshot" jsonb,
|
|
28
|
+
-- set once the fan-out pass has created webhook_delivery rows (or
|
|
29
|
+
-- determined there are no subscribers)
|
|
30
|
+
"processed_at" timestamp with time zone
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
alter table only "public"."outbound_event"
|
|
34
|
+
add constraint "outbound_event_pkey" primary key ("id");
|
|
35
|
+
|
|
36
|
+
alter table only "public"."outbound_event"
|
|
37
|
+
add constraint "outbound_event_company_id_fkey"
|
|
38
|
+
foreign key ("company_id") references "public"."company"("id") on delete cascade;
|
|
39
|
+
|
|
40
|
+
alter table only "public"."outbound_event"
|
|
41
|
+
add constraint "outbound_event_entity_type_check"
|
|
42
|
+
check ("entity_type" in ('client', 'job', 'invoice', 'estimate'));
|
|
43
|
+
|
|
44
|
+
alter table only "public"."outbound_event"
|
|
45
|
+
add constraint "outbound_event_event_type_check"
|
|
46
|
+
check ("event_type" ~ '^(client|job|invoice|estimate)\.(created|updated|deleted)$');
|
|
47
|
+
|
|
48
|
+
alter table only "public"."outbound_event"
|
|
49
|
+
add constraint "outbound_event_op_check"
|
|
50
|
+
check ("op" in ('INSERT', 'UPDATE', 'DELETE'));
|
|
51
|
+
|
|
52
|
+
-- fan-out pass reads oldest-first among unprocessed
|
|
53
|
+
create index if not exists "outbound_event_unprocessed_idx"
|
|
54
|
+
on "public"."outbound_event" ("created_at")
|
|
55
|
+
where "processed_at" is null;
|
|
56
|
+
|
|
57
|
+
-- entity history lookups (debugging, future consumers)
|
|
58
|
+
create index if not exists "outbound_event_entity_idx"
|
|
59
|
+
on "public"."outbound_event" ("company_id", "entity_type", "entity_id", "created_at");
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
-- RLS: outbound_event is service-role only.
|
|
2
|
+
--
|
|
3
|
+
-- DELIBERATE DEVIATION from the house grant-all + company_id-policy pattern:
|
|
4
|
+
-- this is internal pipeline state (including to_jsonb snapshots of deleted
|
|
5
|
+
-- rows) with no product surface; browser/mobile clients never read or write
|
|
6
|
+
-- it. All access goes through autopilot-web server routes via the service
|
|
7
|
+
-- role. RLS is enabled with no policies, and the default-privilege grants to
|
|
8
|
+
-- anon/authenticated are revoked so an accidentally-added permissive policy
|
|
9
|
+
-- still can't expose it.
|
|
10
|
+
|
|
11
|
+
alter table "public"."outbound_event" enable row level security;
|
|
12
|
+
|
|
13
|
+
revoke all on table "public"."outbound_event" from "anon";
|
|
14
|
+
revoke all on table "public"."outbound_event" from "authenticated";
|
|
15
|
+
|
|
16
|
+
grant all on table "public"."outbound_event" to "service_role";
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
-- Per-subscription webhook delivery bookkeeping. The fan-out pass in
|
|
2
|
+
-- autopilot-web creates one row per (outbound_event x matching
|
|
3
|
+
-- webhook_subscription); the delivery pass claims due rows via
|
|
4
|
+
-- claim_webhook_deliveries, POSTs to the target, and records the outcome.
|
|
5
|
+
-- Retry state is just next_attempt_at in the future, so retries need no
|
|
6
|
+
-- external scheduler.
|
|
7
|
+
|
|
8
|
+
create table if not exists "public"."webhook_delivery" (
|
|
9
|
+
"id" uuid default gen_random_uuid() not null,
|
|
10
|
+
"created_at" timestamp with time zone default now() not null,
|
|
11
|
+
"event_id" uuid not null,
|
|
12
|
+
"subscription_id" uuid not null,
|
|
13
|
+
"company_id" uuid not null,
|
|
14
|
+
-- the event_type string the SUBSCRIBER registered with; may be a legacy
|
|
15
|
+
-- alias ('new_client') rather than the canonical name ('client.created'),
|
|
16
|
+
-- which tells the worker to send the legacy payload shape
|
|
17
|
+
"event_type" text not null,
|
|
18
|
+
"status" text default 'pending' not null,
|
|
19
|
+
"attempt_count" integer default 0 not null,
|
|
20
|
+
"next_attempt_at" timestamp with time zone default now() not null,
|
|
21
|
+
"last_attempt_at" timestamp with time zone,
|
|
22
|
+
"last_response_status" integer,
|
|
23
|
+
"last_error" text
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
alter table only "public"."webhook_delivery"
|
|
27
|
+
add constraint "webhook_delivery_pkey" primary key ("id");
|
|
28
|
+
|
|
29
|
+
-- one delivery per (event, subscription): overlapping fan-out runs (the cron
|
|
30
|
+
-- fires every minute but a run may take several) both select the same
|
|
31
|
+
-- unprocessed events; this constraint + ON CONFLICT DO NOTHING on the insert
|
|
32
|
+
-- collapses their duplicate rows at the DB level
|
|
33
|
+
alter table only "public"."webhook_delivery"
|
|
34
|
+
add constraint "webhook_delivery_event_subscription_key" unique ("event_id", "subscription_id");
|
|
35
|
+
|
|
36
|
+
alter table only "public"."webhook_delivery"
|
|
37
|
+
add constraint "webhook_delivery_event_id_fkey"
|
|
38
|
+
foreign key ("event_id") references "public"."outbound_event"("id") on delete cascade;
|
|
39
|
+
|
|
40
|
+
alter table only "public"."webhook_delivery"
|
|
41
|
+
add constraint "webhook_delivery_subscription_id_fkey"
|
|
42
|
+
foreign key ("subscription_id") references "public"."webhook_subscription"("id") on delete cascade;
|
|
43
|
+
|
|
44
|
+
alter table only "public"."webhook_delivery"
|
|
45
|
+
add constraint "webhook_delivery_company_id_fkey"
|
|
46
|
+
foreign key ("company_id") references "public"."company"("id") on delete cascade;
|
|
47
|
+
|
|
48
|
+
-- pending: waiting for next_attempt_at
|
|
49
|
+
-- delivering: claimed by a worker run (stuck rows are swept back to pending)
|
|
50
|
+
-- delivered: target returned 2xx
|
|
51
|
+
-- skipped: superseded (entity gone, or subscription deactivated mid-flight)
|
|
52
|
+
-- dead: exhausted all retry attempts; kept for inspection
|
|
53
|
+
alter table only "public"."webhook_delivery"
|
|
54
|
+
add constraint "webhook_delivery_status_check"
|
|
55
|
+
check ("status" in ('pending', 'delivering', 'delivered', 'skipped', 'dead'));
|
|
56
|
+
|
|
57
|
+
-- delivery pass claims due rows
|
|
58
|
+
create index if not exists "webhook_delivery_due_idx"
|
|
59
|
+
on "public"."webhook_delivery" ("next_attempt_at")
|
|
60
|
+
where "status" = 'pending';
|
|
61
|
+
|
|
62
|
+
-- per-subscription history (consecutive-failure deactivation, debugging)
|
|
63
|
+
create index if not exists "webhook_delivery_sub_idx"
|
|
64
|
+
on "public"."webhook_delivery" ("subscription_id", "created_at");
|
|
65
|
+
|
|
66
|
+
-- FK support: company deletion cascades through this table, which will be
|
|
67
|
+
-- one of the largest in the system — without this it seq-scans
|
|
68
|
+
create index if not exists "webhook_delivery_company_idx"
|
|
69
|
+
on "public"."webhook_delivery" ("company_id");
|
|
70
|
+
|
|
71
|
+
-- Atomically claim up to batch_size due deliveries. FOR UPDATE SKIP LOCKED
|
|
72
|
+
-- isn't expressible through supabase-js, and claiming must be atomic so
|
|
73
|
+
-- overlapping cron runs never double-send.
|
|
74
|
+
create or replace function "public"."claim_webhook_deliveries"("batch_size" integer)
|
|
75
|
+
returns setof "public"."webhook_delivery"
|
|
76
|
+
language "sql"
|
|
77
|
+
security definer
|
|
78
|
+
set search_path = 'public'
|
|
79
|
+
as $$
|
|
80
|
+
update webhook_delivery set
|
|
81
|
+
status = 'delivering',
|
|
82
|
+
attempt_count = attempt_count + 1,
|
|
83
|
+
last_attempt_at = now()
|
|
84
|
+
where id in (
|
|
85
|
+
select id from webhook_delivery
|
|
86
|
+
where status = 'pending' and next_attempt_at <= now()
|
|
87
|
+
order by next_attempt_at
|
|
88
|
+
-- server-side cap: an accidental huge batch_size must not lock an
|
|
89
|
+
-- unbounded number of rows in one transaction
|
|
90
|
+
limit least(batch_size, 1000)
|
|
91
|
+
for update skip locked
|
|
92
|
+
)
|
|
93
|
+
returning *;
|
|
94
|
+
$$;
|
|
95
|
+
|
|
96
|
+
revoke all on function "public"."claim_webhook_deliveries"(integer) from public;
|
|
97
|
+
revoke all on function "public"."claim_webhook_deliveries"(integer) from "anon";
|
|
98
|
+
revoke all on function "public"."claim_webhook_deliveries"(integer) from "authenticated";
|
|
99
|
+
grant execute on function "public"."claim_webhook_deliveries"(integer) to "service_role";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
-- RLS: webhook_delivery is service-role only.
|
|
2
|
+
-- Same deliberate deviation (and rationale) as outbound_event_rls: internal
|
|
3
|
+
-- pipeline state with no product surface; all access via server routes using
|
|
4
|
+
-- the service role.
|
|
5
|
+
|
|
6
|
+
alter table "public"."webhook_delivery" enable row level security;
|
|
7
|
+
|
|
8
|
+
revoke all on table "public"."webhook_delivery" from "anon";
|
|
9
|
+
revoke all on table "public"."webhook_delivery" from "authenticated";
|
|
10
|
+
|
|
11
|
+
grant all on table "public"."webhook_delivery" to "service_role";
|