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.
Files changed (822) hide show
  1. package/README.md +53 -0
  2. package/dist/Provider.d.ts +21 -0
  3. package/dist/Provider.d.ts.map +1 -0
  4. package/dist/Provider.js +61 -0
  5. package/dist/Provider.js.map +1 -0
  6. package/dist/dist/Provider.d.ts +21 -0
  7. package/dist/dist/Provider.d.ts.map +1 -0
  8. package/dist/dist/Provider.js +61 -0
  9. package/dist/dist/Provider.js.map +1 -0
  10. package/dist/dist/index.d.ts +45 -0
  11. package/dist/dist/index.d.ts.map +1 -0
  12. package/dist/dist/index.js +61 -0
  13. package/dist/dist/index.js.map +1 -0
  14. package/dist/dist/interfaces/index.d.ts +1238 -0
  15. package/dist/dist/interfaces/index.d.ts.map +1 -0
  16. package/dist/dist/interfaces/index.js +3 -0
  17. package/dist/dist/interfaces/index.js.map +1 -0
  18. package/dist/dist/migrations/20260608222757_remote_schema.sql +5666 -0
  19. package/dist/dist/migrations/20260611174826_add_job_item_recurring_id_to_job_item.sql +7 -0
  20. package/dist/dist/migrations/20260625224612_add_dashboard_guided_tour_dismissed_to_settings_user.sql +5 -0
  21. package/dist/dist/migrations/20260627031433_support_chat_tables.sql +115 -0
  22. package/dist/dist/migrations/20260627031434_support_chat_rls.sql +37 -0
  23. package/dist/dist/migrations/20260704170209_add_estimate_scheduling.sql +121 -0
  24. package/dist/dist/migrations/20260704170210_add_estimate_scheduling_rls.sql +42 -0
  25. package/dist/dist/migrations/20260704235034_add_estimate_reminder_settings.sql +11 -0
  26. package/dist/dist/migrations/20260707003825_blocked_number_table.sql +32 -0
  27. package/dist/dist/migrations/20260707003826_blocked_number_rls.sql +22 -0
  28. package/dist/dist/migrations/20260709191055_sms_opt_out_table.sql +38 -0
  29. package/dist/dist/migrations/20260709191056_sms_opt_out_rls.sql +21 -0
  30. package/dist/dist/migrations/20260709214507_job_time_entry_table.sql +70 -0
  31. package/dist/dist/migrations/20260709214508_job_time_entry_rls.sql +21 -0
  32. package/dist/dist/migrations/20260711185956_phone_call_table.sql +99 -0
  33. package/dist/dist/migrations/20260711185957_phone_call_rls.sql +25 -0
  34. package/dist/dist/migrations/20260712014705_ai_voice_assistant_settings.sql +71 -0
  35. package/dist/dist/migrations/20260712014706_ai_voice_assistant_settings_rls.sql +14 -0
  36. package/dist/dist/migrations/20260712014707_ai_prompt_templates.sql +28 -0
  37. package/dist/dist/migrations/20260712014708_ai_prompt_templates_rls.sql +5 -0
  38. package/dist/dist/migrations/20260712014709_ai_prompt_templates_seed.sql +77 -0
  39. package/dist/dist/migrations/20260715011550_reminder_dispatch_table.sql +47 -0
  40. package/dist/dist/migrations/20260715011551_reminder_dispatch_rls.sql +22 -0
  41. package/dist/dist/migrations/20260715192923_dedup_sequence_contact_add_unique_constraint.sql +27 -0
  42. package/dist/dist/migrations/20260716194420_add_employee_location_tracking.sql +146 -0
  43. package/dist/dist/migrations/20260716194421_add_employee_location_tracking_rls.sql +154 -0
  44. package/dist/dist/migrations/20260716194422_get_client_map_last_completed_jobs.sql +28 -0
  45. package/dist/dist/migrations/20260717144535_add_blast_email_invalid_skipped_count.sql +2 -0
  46. package/dist/dist/migrations/20260717162900_create_blast_email_chunk.sql +36 -0
  47. package/dist/dist/migrations/20260717162901_add_blast_email_chunk_rls.sql +5 -0
  48. package/dist/dist/migrations/20260717162902_add_blast_email_chunk_progress_columns.sql +3 -0
  49. package/dist/dist/migrations/20260717162903_add_blast_email_bounce_tracking_columns.sql +4 -0
  50. package/dist/dist/migrations/20260717162904_create_email_hard_bounced.sql +23 -0
  51. package/dist/dist/migrations/20260717162905_add_email_hard_bounced_rls.sql +5 -0
  52. package/dist/dist/migrations/20260717164837_add_sequence_contact_sent_at.sql +19 -0
  53. package/dist/dist/migrations/20260717170920_add_sequence_contact_claim_index.sql +12 -0
  54. package/dist/dist/migrations/20260719215139_create_outbound_event.sql +59 -0
  55. package/dist/dist/migrations/20260719215140_create_outbound_event_rls.sql +16 -0
  56. package/dist/dist/migrations/20260719215141_create_webhook_delivery.sql +99 -0
  57. package/dist/dist/migrations/20260719215142_create_webhook_delivery_rls.sql +11 -0
  58. package/dist/dist/migrations/20260719215143_outbound_event_triggers.sql +219 -0
  59. package/dist/dist/migrations/20260719215144_create_api_key.sql +34 -0
  60. package/dist/dist/migrations/20260719215146_create_api_key_rls.sql +12 -0
  61. package/dist/dist/migrations/20260719215147_webhook_subscription_add_secret_active.sql +28 -0
  62. package/dist/dist/migrations/20260719215148_api_aggregate_create_functions.sql +479 -0
  63. package/dist/dist/migrations/20260721174837_webhook_subscription_generic_endpoints.sql +41 -0
  64. package/dist/dist/migrations/20260721185631_webhook_outbox_retention.sql +87 -0
  65. package/dist/dist/migrations/20260721190304_create_qb_sync_task.sql +120 -0
  66. package/dist/dist/migrations/20260721190306_qb_sync_task_rls.sql +8 -0
  67. package/dist/dist/migrations/20260721190307_qb_mapping_orphan_fks.sql +29 -0
  68. package/dist/dist/migrations/20260721190308_qb_task_retention.sql +90 -0
  69. package/dist/dist/migrations/20260721234401_create_permission_role.sql +83 -0
  70. package/dist/dist/migrations/20260721234402_permission_role_rls.sql +22 -0
  71. package/dist/dist/migrations/20260721234403_user_role_add_permission_role_id.sql +12 -0
  72. package/dist/dist/migrations/20260721234404_seed_permission_roles.sql +100 -0
  73. package/dist/dist/migrations/20260721234405_backfill_user_role_permission_role_id.sql +20 -0
  74. package/dist/dist/migrations/20260722193800_permission_role_add_manage_employees.sql +56 -0
  75. package/dist/dist/migrations/20260723025606_staging_new_employee_company_read_rls.sql +10 -0
  76. package/dist/dist/migrations/20260723134328_create_google_lsa_integration.sql +1016 -0
  77. package/dist/dist/migrations/20260723134329_google_lsa_integration_rls.sql +205 -0
  78. package/dist/dist/migrations/20260723150640_google_lsa_hardening.sql +169 -0
  79. package/dist/dist/migrations/20260723150641_google_lsa_hardening_rls.sql +12 -0
  80. package/dist/dist/migrations/20260724230721_google_lsa_facebook_exclusivity_attach.sql +104 -0
  81. package/dist/dist/migrations/20260724230722_google_lsa_facebook_exclusivity_attach_rls.sql +20 -0
  82. package/dist/dist/migrations/20260725172630_add_message_pagination_and_search.sql +265 -0
  83. package/dist/dist/migrations/20260725172631_add_message_pagination_and_search_rls.sql +72 -0
  84. package/dist/dist/migrations/20260725172632_optimize_message_thread_pagination_search.sql +245 -0
  85. package/dist/dist/migrations/20260725172633_harden_message_search_and_photo_pagination.sql +256 -0
  86. package/dist/dist/migrations/20260725172634_fix_message_thread_line_filter.sql +250 -0
  87. package/dist/dist/migrations/20260725174948_google_lsa_attach_bing_exclusivity_guard.sql +23 -0
  88. package/dist/dist/migrations/20260725200430_client_portal_settings.sql +41 -0
  89. package/dist/dist/migrations/20260725200431_client_portal_settings_rls.sql +21 -0
  90. package/dist/dist/migrations/20260725200433_client_portal_auth_tables.sql +81 -0
  91. package/dist/dist/migrations/20260725200434_client_portal_auth_rls.sql +18 -0
  92. package/dist/dist/migrations/20260725200435_portal_claim_login_attempt.sql +36 -0
  93. package/dist/dist/migrations/20260725200436_portal_appointment_request.sql +39 -0
  94. package/dist/dist/migrations/20260725200437_portal_appointment_request_rls.sql +10 -0
  95. package/dist/dist/migrations/20260725210000_google_reserve_integration.sql +85 -0
  96. package/dist/dist/migrations/20260725210001_google_reserve_integration_rls.sql +10 -0
  97. package/dist/dist/migrations/20260725220000_add_analytics_query_indexes.sql +47 -0
  98. package/dist/dist/migrations/20260725230000_onboarding_preload_data.sql +1074 -0
  99. package/dist/dist/migrations/20260725230001_onboarding_preload_data_rls.sql +40 -0
  100. package/dist/dist/migrations/20260725230002_add_pricebook_query_indexes.sql +13 -0
  101. package/dist/dist/migrations/20260726000000_facebook_ads_integration.sql +1538 -0
  102. package/dist/dist/migrations/20260726000001_facebook_ads_integration_rls.sql +356 -0
  103. package/dist/dist/migrations/20260726000002_facebook_ads_attach_lsa_exclusivity_guard.sql +25 -0
  104. package/dist/dist/migrations/20260726000003_facebook_ads_attach_bing_exclusivity_guard.sql +22 -0
  105. package/dist/dist/migrations/20260726010000_create_bing_ads_integration.sql +1112 -0
  106. package/dist/dist/migrations/20260726010001_bing_ads_integration_rls.sql +227 -0
  107. package/dist/dist/migrations/20260726220000_add_document_theme_settings.sql +11 -0
  108. package/dist/dist/migrations/20260726220001_update_document_theme_comments.sql +7 -0
  109. package/dist/dist/migrations/20260727210319_evolve_tier_for_pricing.sql +68 -0
  110. package/dist/dist/migrations/20260727210320_create_billing_addon.sql +85 -0
  111. package/dist/dist/migrations/20260727210321_create_billing_addon_rls.sql +21 -0
  112. package/dist/dist/migrations/20260728213930_create_usage_metering.sql +189 -0
  113. package/dist/dist/migrations/20260728213931_create_usage_metering_rls.sql +32 -0
  114. package/dist/dist/migrations/20260729004305_marketing_charge_txn_functions.sql +242 -0
  115. package/dist/dist/migrations/20260729004306_marketing_charge_txn_functions_rls.sql +37 -0
  116. package/dist/dist/migrations/20260729005524_update_deduct_from_balance_errcode.sql +42 -0
  117. package/dist/dist/migrations/20260730193601_fix_deduct_from_balance_lost_update.sql +46 -0
  118. package/dist/dist/migrations/20260730193602_add_blast_sms_chunk_reaper_columns.sql +27 -0
  119. package/dist/dist/migrations/20260731011415_create_google_calendar_connection.sql +84 -0
  120. package/dist/dist/migrations/20260731011416_google_calendar_connection_rls.sql +23 -0
  121. package/dist/dist/migrations/20260731011417_create_google_calendar_sync.sql +157 -0
  122. package/dist/dist/migrations/20260731011418_google_calendar_sync_rls.sql +26 -0
  123. package/dist/dist/migrations/20260731011419_event_outbound_triggers.sql +28 -0
  124. package/dist/dist/migrations/20260731011420_add_google_calendar_addon_key.sql +24 -0
  125. package/dist/dist/migrations/20260731011421_gcal_task_retention.sql +109 -0
  126. package/dist/dist/migrations/20260731234245_create_estimate_proposal.sql +157 -0
  127. package/dist/dist/migrations/20260731234247_estimate_proposal_rls.sql +46 -0
  128. package/dist/dist/migrations/20260731234248_add_proposal_estimate_settings.sql +17 -0
  129. package/dist/dist/migrations/20260731234249_add_estimate_proposals_addon_key.sql +25 -0
  130. package/dist/dist/migrations/20260731234250_approve_estimate_proposal_function.sql +133 -0
  131. package/dist/dist/migrations/20260801010609_save_estimate_proposal_function.sql +154 -0
  132. package/dist/dist/migrations/20260801173554_add_hide_autopilot_branding_setting.sql +6 -0
  133. package/dist/dist/migrations/20260806230917_add_client_billing_address_columns.sql +9 -0
  134. package/dist/dist/migrations/20260806230944_api_create_client_billing_address.sql +93 -0
  135. package/dist/dist/migrations/20260807014702_create_parent_id_company_id_keys.sql +20 -0
  136. package/dist/dist/migrations/20260807014703_create_contract_template.sql +30 -0
  137. package/dist/dist/migrations/20260807014704_create_contract.sql +233 -0
  138. package/dist/dist/migrations/20260807014705_create_contract_signature.sql +39 -0
  139. package/dist/dist/migrations/20260807014706_create_item_contract_requirement.sql +38 -0
  140. package/dist/dist/migrations/20260807014707_create_settings_contract.sql +23 -0
  141. package/dist/dist/migrations/20260807014708_contract_rls.sql +74 -0
  142. package/dist/dist/migrations/20260807014709_sign_contract_function.sql +92 -0
  143. package/dist/dist/migrations/20260807014710_create_settings_rental.sql +34 -0
  144. package/dist/dist/migrations/20260807014711_create_saved_location.sql +56 -0
  145. package/dist/dist/migrations/20260807014712_create_rental_task_option.sql +52 -0
  146. package/dist/dist/migrations/20260807014713_create_asset.sql +90 -0
  147. package/dist/dist/migrations/20260807014714_add_job_schedule_asset_fkeys.sql +39 -0
  148. package/dist/dist/migrations/20260807014715_rental_rls.sql +48 -0
  149. package/dist/dist/migrations/20260807014716_add_job_schedule_any_time.sql +7 -0
  150. package/dist/dist/migrations/20260807014717_add_job_schedule_target_location.sql +48 -0
  151. package/dist/dist/migrations/20260807014718_job_schedule_completion_guard.sql +53 -0
  152. package/dist/dist/migrations/20260807014719_add_job_schedule_list_sort_key.sql +7 -0
  153. package/dist/dist/migrations/20260807014720_add_item_duration.sql +11 -0
  154. package/dist/dist/migrations/20260807014721_add_settings_booking_enforce_rental_availability.sql +9 -0
  155. package/dist/dist/migrations/20260807014722_add_job_unsigned_rental_agreement.sql +10 -0
  156. package/dist/dist/migrations/20260807014723_add_item_size.sql +12 -0
  157. package/dist/dist/migrations/20260809193533_add_booking_path_button_labels.sql +11 -0
  158. package/dist/dist/migrations/20260809231721_add_route_distance_cache.sql +37 -0
  159. package/dist/dist/migrations/20260809231722_route_distance_cache_rls.sql +15 -0
  160. package/dist/dist/migrations/20260809231723_apply_rental_route_plan_function.sql +275 -0
  161. package/dist/dist/migrations/20260810171550_add_settings_job_default_job_types.sql +9 -0
  162. package/dist/dist/migrations/20260810212430_backfill_rental_task_option_sort_order.sql +61 -0
  163. package/dist/dist/migrations/20260811224317_add_settings_user_dnd_hint_dismissed.sql +9 -0
  164. package/dist/dist/migrations/20260813174503_repair_user_role_email_drift.sql +59 -0
  165. package/dist/dist/migrations/20260813174504_sync_user_role_email_trigger.sql +30 -0
  166. package/dist/dist/migrations/20260813175210_add_event_list_sort_key.sql +5 -0
  167. package/dist/dist/migrations/20260814172222_add_client_auto_bill_on_completion.sql +6 -0
  168. package/dist/dist/migrations/20260816160252_create_automation_rule.sql +99 -0
  169. package/dist/dist/migrations/20260816160253_automation_rule_rls.sql +19 -0
  170. package/dist/dist/migrations/20260816160254_create_settings_automation.sql +36 -0
  171. package/dist/dist/migrations/20260816160255_settings_automation_rls.sql +18 -0
  172. package/dist/dist/migrations/20260816160256_create_automation_event.sql +71 -0
  173. package/dist/dist/migrations/20260816160257_automation_event_rls.sql +12 -0
  174. package/dist/dist/migrations/20260816160258_create_automation_run.sql +129 -0
  175. package/dist/dist/migrations/20260816160259_automation_run_rls.sql +19 -0
  176. package/dist/dist/migrations/20260816160300_add_client_created_via.sql +25 -0
  177. package/dist/dist/migrations/20260816160301_add_estimate_sent_at.sql +39 -0
  178. package/dist/dist/migrations/20260816160302_add_message_automation_ref.sql +10 -0
  179. package/dist/dist/migrations/20260816160303_automation_event_triggers.sql +236 -0
  180. package/dist/dist/migrations/20260816160304_automation_retention.sql +142 -0
  181. package/dist/dist/migrations/20260816202404_add_automation_center_addon_key.sql +26 -0
  182. package/dist/dist/migrations/20260816225501_widen_automation_rule_trigger_action_checks.sql +25 -0
  183. package/dist/dist/migrations/20260816225502_widen_automation_event_type_check.sql +18 -0
  184. package/dist/dist/migrations/20260816225503_add_invoice_id_to_automation_tables.sql +18 -0
  185. package/dist/dist/migrations/20260816225504_add_job_rescheduled_capture_trigger.sql +51 -0
  186. package/dist/dist/migrations/20260816225505_add_lead_converted_capture_trigger.sql +26 -0
  187. package/dist/dist/migrations/20260816225506_fix_booking_request_import_guard.sql +27 -0
  188. package/dist/dist/migrations/20260816225507_widen_outbound_event_for_automation.sql +38 -0
  189. package/dist/dist/migrations/20260817002626_add_user_last_login_platform_columns.sql +14 -0
  190. package/dist/dist/migrations/20260817221703_create_deletion.sql +34 -0
  191. package/dist/dist/migrations/20260817221707_deletion_rls.sql +21 -0
  192. package/dist/dist/migrations/20260817221708_add_soft_delete_columns.sql +82 -0
  193. package/dist/dist/migrations/20260817221709_trash_functions.sql +434 -0
  194. package/dist/dist/migrations/20260817221710_outbound_event_soft_delete.sql +55 -0
  195. package/dist/dist/migrations/20260817221711_automation_soft_delete_events.sql +77 -0
  196. package/dist/dist/migrations/20260817221712_fix_estimate_address_cascade.sql +14 -0
  197. package/dist/dist/migrations/20260817232630_trash_batch_function.sql +67 -0
  198. package/dist/dist/migrations/20260819170204_create_email_spam_complaint.sql +23 -0
  199. package/dist/dist/migrations/20260819170205_add_email_spam_complaint_rls.sql +5 -0
  200. package/dist/dist/migrations/20260819170206_email_unsubscribed_upsert_constraints.sql +14 -0
  201. package/dist/dist/migrations/20260819180151_get_suppressed_emails_function.sql +23 -0
  202. package/dist/dist/migrations/20260819191143_is_deleted_backfill_guard.sql +29 -0
  203. package/dist/dist/migrations/20260819191144_trash_functions_no_dual_write.sql +319 -0
  204. package/dist/dist/migrations/20260819191145_client_map_jobs_deleted_at.sql +33 -0
  205. package/dist/dist/migrations/20260819191147_booking_declined_deleted_at.sql +28 -0
  206. package/dist/dist/migrations/20260819191148_onboarding_preload_no_address_is_deleted.sql +1019 -0
  207. package/dist/dist/migrations/20260820222756_add_settings_job_hide_task_timer.sql +2 -0
  208. package/dist/dist/migrations/20260824234151_add_blast_chunk_recipients.sql +13 -0
  209. package/dist/dist/migrations/20260824234152_add_blast_pause_cancel_columns.sql +10 -0
  210. package/dist/dist/migrations/20260825014725_get_job_ids_in_range.sql +42 -0
  211. package/dist/dist/migrations/20260825194452_add_failed_job_status.sql +15 -0
  212. package/dist/dist/migrations/20260825194457_remove_take_to_rental_task_options.sql +24 -0
  213. package/dist/dist/migrations/20260825194458_remove_take_to_job_schedules.sql +12 -0
  214. package/dist/dist/migrations/20260825194459_rework_apply_rental_route_plan_no_take_to.sql +168 -0
  215. package/dist/dist/migrations/20260825194500_drop_job_schedule_target_location.sql +24 -0
  216. package/dist/dist/migrations/20260825194501_add_job_schedule_size.sql +17 -0
  217. package/dist/dist/migrations/20260825233001_add_job_schedule_id_company_id_key.sql +11 -0
  218. package/dist/dist/migrations/20260825233002_create_route_plan.sql +52 -0
  219. package/dist/dist/migrations/20260825233003_create_route_plan_stop.sql +159 -0
  220. package/dist/dist/migrations/20260825233004_route_plan_rls.sql +32 -0
  221. package/dist/dist/migrations/20260825233005_apply_rental_route_plan_v2.sql +351 -0
  222. package/dist/dist/migrations/20260826150934_facebook_ads_lead_ingestion.sql +1711 -0
  223. package/dist/dist/migrations/20260826151141_facebook_ads_lead_ingestion_rls_v2.sql +43 -0
  224. package/dist/dist/migrations/20260826234722_facebook_messenger_ingestion.sql +703 -0
  225. package/dist/dist/migrations/20260826234723_facebook_messenger_ingestion_rls.sql +80 -0
  226. package/dist/dist/migrations/20260826234724_widen_automations_messenger.sql +46 -0
  227. package/dist/dist/migrations/20260827100001_add_route_plan_minutes.sql +10 -0
  228. package/dist/dist/migrations/20260827100002_add_route_plan_stop_leg_minutes.sql +9 -0
  229. package/dist/dist/migrations/20260827100003_apply_rental_route_plan_v3.sql +341 -0
  230. package/dist/dist/migrations/20260827230346_apply_rental_route_plan_v4.sql +366 -0
  231. package/dist/dist/migrations/20260829090911_create_fleet_schema.sql +3698 -0
  232. package/dist/dist/migrations/20260829090912_fleet_rls.sql +1011 -0
  233. package/dist/dist/migrations/20260831102212_add_online_booking_address_display.sql +8 -0
  234. package/dist/dist/providers/AddressProvider.d.ts +9 -0
  235. package/dist/dist/providers/AddressProvider.d.ts.map +1 -0
  236. package/dist/dist/providers/AddressProvider.js +207 -0
  237. package/dist/dist/providers/AddressProvider.js.map +1 -0
  238. package/dist/dist/providers/AutomationsProvider.d.ts +11 -0
  239. package/dist/dist/providers/AutomationsProvider.d.ts.map +1 -0
  240. package/dist/dist/providers/AutomationsProvider.js +170 -0
  241. package/dist/dist/providers/AutomationsProvider.js.map +1 -0
  242. package/dist/dist/providers/BlockedNumbersProvider.d.ts +13 -0
  243. package/dist/dist/providers/BlockedNumbersProvider.d.ts.map +1 -0
  244. package/dist/dist/providers/BlockedNumbersProvider.js +71 -0
  245. package/dist/dist/providers/BlockedNumbersProvider.js.map +1 -0
  246. package/dist/dist/providers/CategoryProvider.d.ts +8 -0
  247. package/dist/dist/providers/CategoryProvider.d.ts.map +1 -0
  248. package/dist/dist/providers/CategoryProvider.js +95 -0
  249. package/dist/dist/providers/CategoryProvider.js.map +1 -0
  250. package/dist/dist/providers/ClientProvider.d.ts +39 -0
  251. package/dist/dist/providers/ClientProvider.d.ts.map +1 -0
  252. package/dist/dist/providers/ClientProvider.js +253 -0
  253. package/dist/dist/providers/ClientProvider.js.map +1 -0
  254. package/dist/dist/providers/CompanyProvider.d.ts +7 -0
  255. package/dist/dist/providers/CompanyProvider.d.ts.map +1 -0
  256. package/dist/dist/providers/CompanyProvider.js +114 -0
  257. package/dist/dist/providers/CompanyProvider.js.map +1 -0
  258. package/dist/dist/providers/DashboardProvider.d.ts +78 -0
  259. package/dist/dist/providers/DashboardProvider.d.ts.map +1 -0
  260. package/dist/dist/providers/DashboardProvider.js +568 -0
  261. package/dist/dist/providers/DashboardProvider.js.map +1 -0
  262. package/dist/dist/providers/DiscountProvider.d.ts +8 -0
  263. package/dist/dist/providers/DiscountProvider.d.ts.map +1 -0
  264. package/dist/dist/providers/DiscountProvider.js +92 -0
  265. package/dist/dist/providers/DiscountProvider.js.map +1 -0
  266. package/dist/dist/providers/EmployeesProvider.d.ts +6 -0
  267. package/dist/dist/providers/EmployeesProvider.d.ts.map +1 -0
  268. package/dist/dist/providers/EmployeesProvider.js +185 -0
  269. package/dist/dist/providers/EmployeesProvider.js.map +1 -0
  270. package/dist/dist/providers/EstimatesProvider.d.ts +16 -0
  271. package/dist/dist/providers/EstimatesProvider.d.ts.map +1 -0
  272. package/dist/dist/providers/EstimatesProvider.js +251 -0
  273. package/dist/dist/providers/EstimatesProvider.js.map +1 -0
  274. package/dist/dist/providers/EventsProvider.d.ts +4 -0
  275. package/dist/dist/providers/EventsProvider.d.ts.map +1 -0
  276. package/dist/dist/providers/EventsProvider.js +24 -0
  277. package/dist/dist/providers/EventsProvider.js.map +1 -0
  278. package/dist/dist/providers/FilesProvider.d.ts +17 -0
  279. package/dist/dist/providers/FilesProvider.d.ts.map +1 -0
  280. package/dist/dist/providers/FilesProvider.js +201 -0
  281. package/dist/dist/providers/FilesProvider.js.map +1 -0
  282. package/dist/dist/providers/InvoicesProvider.d.ts +13 -0
  283. package/dist/dist/providers/InvoicesProvider.d.ts.map +1 -0
  284. package/dist/dist/providers/InvoicesProvider.js +207 -0
  285. package/dist/dist/providers/InvoicesProvider.js.map +1 -0
  286. package/dist/dist/providers/ItemProvider.d.ts +9 -0
  287. package/dist/dist/providers/ItemProvider.d.ts.map +1 -0
  288. package/dist/dist/providers/ItemProvider.js +201 -0
  289. package/dist/dist/providers/ItemProvider.js.map +1 -0
  290. package/dist/dist/providers/JobSourceProvider.d.ts +8 -0
  291. package/dist/dist/providers/JobSourceProvider.d.ts.map +1 -0
  292. package/dist/dist/providers/JobSourceProvider.js +75 -0
  293. package/dist/dist/providers/JobSourceProvider.js.map +1 -0
  294. package/dist/dist/providers/JobTypeProvider.d.ts +8 -0
  295. package/dist/dist/providers/JobTypeProvider.d.ts.map +1 -0
  296. package/dist/dist/providers/JobTypeProvider.js +75 -0
  297. package/dist/dist/providers/JobTypeProvider.js.map +1 -0
  298. package/dist/dist/providers/JobsProvider.d.ts +35 -0
  299. package/dist/dist/providers/JobsProvider.d.ts.map +1 -0
  300. package/dist/dist/providers/JobsProvider.js +863 -0
  301. package/dist/dist/providers/JobsProvider.js.map +1 -0
  302. package/dist/dist/providers/MessagesProvider.d.ts +33 -0
  303. package/dist/dist/providers/MessagesProvider.d.ts.map +1 -0
  304. package/dist/dist/providers/MessagesProvider.js +415 -0
  305. package/dist/dist/providers/MessagesProvider.js.map +1 -0
  306. package/dist/dist/providers/PaymentProvider.d.ts +9 -0
  307. package/dist/dist/providers/PaymentProvider.d.ts.map +1 -0
  308. package/dist/dist/providers/PaymentProvider.js +48 -0
  309. package/dist/dist/providers/PaymentProvider.js.map +1 -0
  310. package/dist/dist/providers/PermissionRolesProvider.d.ts +5 -0
  311. package/dist/dist/providers/PermissionRolesProvider.d.ts.map +1 -0
  312. package/dist/dist/providers/PermissionRolesProvider.js +30 -0
  313. package/dist/dist/providers/PermissionRolesProvider.js.map +1 -0
  314. package/dist/dist/providers/PhoneNumberProvider.d.ts +12 -0
  315. package/dist/dist/providers/PhoneNumberProvider.d.ts.map +1 -0
  316. package/dist/dist/providers/PhoneNumberProvider.js +184 -0
  317. package/dist/dist/providers/PhoneNumberProvider.js.map +1 -0
  318. package/dist/dist/providers/ProfileProvider.d.ts +6 -0
  319. package/dist/dist/providers/ProfileProvider.d.ts.map +1 -0
  320. package/dist/dist/providers/ProfileProvider.js +71 -0
  321. package/dist/dist/providers/ProfileProvider.js.map +1 -0
  322. package/dist/dist/providers/RentalsProvider.d.ts +28 -0
  323. package/dist/dist/providers/RentalsProvider.d.ts.map +1 -0
  324. package/dist/dist/providers/RentalsProvider.js +438 -0
  325. package/dist/dist/providers/RentalsProvider.js.map +1 -0
  326. package/dist/dist/providers/SettingsBookingProvider.d.ts +9 -0
  327. package/dist/dist/providers/SettingsBookingProvider.d.ts.map +1 -0
  328. package/dist/dist/providers/SettingsBookingProvider.js +163 -0
  329. package/dist/dist/providers/SettingsBookingProvider.js.map +1 -0
  330. package/dist/dist/providers/SettingsProvider.d.ts +8 -0
  331. package/dist/dist/providers/SettingsProvider.d.ts.map +1 -0
  332. package/dist/dist/providers/SettingsProvider.js +86 -0
  333. package/dist/dist/providers/SettingsProvider.js.map +1 -0
  334. package/dist/dist/providers/TagsProvider.d.ts +12 -0
  335. package/dist/dist/providers/TagsProvider.d.ts.map +1 -0
  336. package/dist/dist/providers/TagsProvider.js +210 -0
  337. package/dist/dist/providers/TagsProvider.js.map +1 -0
  338. package/dist/dist/providers/TimeCardProvider.d.ts +8 -0
  339. package/dist/dist/providers/TimeCardProvider.d.ts.map +1 -0
  340. package/dist/dist/providers/TimeCardProvider.js +93 -0
  341. package/dist/dist/providers/TimeCardProvider.js.map +1 -0
  342. package/dist/dist/providers/TrashProvider.d.ts +13 -0
  343. package/dist/dist/providers/TrashProvider.d.ts.map +1 -0
  344. package/dist/dist/providers/TrashProvider.js +98 -0
  345. package/dist/dist/providers/TrashProvider.js.map +1 -0
  346. package/dist/dist/providers/dashboardAnalytics.d.ts +9 -0
  347. package/dist/dist/providers/dashboardAnalytics.d.ts.map +1 -0
  348. package/dist/dist/providers/dashboardAnalytics.js +41 -0
  349. package/dist/dist/providers/dashboardAnalytics.js.map +1 -0
  350. package/dist/dist/providers/dashboardAnalytics.test.d.ts +2 -0
  351. package/dist/dist/providers/dashboardAnalytics.test.d.ts.map +1 -0
  352. package/dist/dist/providers/dashboardAnalytics.test.js +111 -0
  353. package/dist/dist/providers/dashboardAnalytics.test.js.map +1 -0
  354. package/dist/dist/server-safe/BlockedNumberFunctions.d.ts +11 -0
  355. package/dist/dist/server-safe/BlockedNumberFunctions.d.ts.map +1 -0
  356. package/dist/dist/server-safe/BlockedNumberFunctions.js +16 -0
  357. package/dist/dist/server-safe/BlockedNumberFunctions.js.map +1 -0
  358. package/dist/dist/server-safe/EmployeeFunctions.d.ts +14 -0
  359. package/dist/dist/server-safe/EmployeeFunctions.d.ts.map +1 -0
  360. package/dist/dist/server-safe/EmployeeFunctions.js +70 -0
  361. package/dist/dist/server-safe/EmployeeFunctions.js.map +1 -0
  362. package/dist/dist/server-safe/EmployeeLocationFunctions.d.ts +7 -0
  363. package/dist/dist/server-safe/EmployeeLocationFunctions.d.ts.map +1 -0
  364. package/dist/dist/server-safe/EmployeeLocationFunctions.js +47 -0
  365. package/dist/dist/server-safe/EmployeeLocationFunctions.js.map +1 -0
  366. package/dist/dist/server-safe/EstimateFunctions.d.ts +15 -0
  367. package/dist/dist/server-safe/EstimateFunctions.d.ts.map +1 -0
  368. package/dist/dist/server-safe/EstimateFunctions.js +34 -0
  369. package/dist/dist/server-safe/EstimateFunctions.js.map +1 -0
  370. package/dist/dist/server-safe/InvoiceFunctions.d.ts +21 -0
  371. package/dist/dist/server-safe/InvoiceFunctions.d.ts.map +1 -0
  372. package/dist/dist/server-safe/InvoiceFunctions.js +124 -0
  373. package/dist/dist/server-safe/InvoiceFunctions.js.map +1 -0
  374. package/dist/dist/server-safe/JobFunctions.d.ts +15 -0
  375. package/dist/dist/server-safe/JobFunctions.d.ts.map +1 -0
  376. package/dist/dist/server-safe/JobFunctions.js +56 -0
  377. package/dist/dist/server-safe/JobFunctions.js.map +1 -0
  378. package/dist/dist/server-safe/PaymentFunctions.d.ts +16 -0
  379. package/dist/dist/server-safe/PaymentFunctions.d.ts.map +1 -0
  380. package/dist/dist/server-safe/PaymentFunctions.js +80 -0
  381. package/dist/dist/server-safe/PaymentFunctions.js.map +1 -0
  382. package/dist/dist/server-safe/PermissionFunctions.d.ts +7 -0
  383. package/dist/dist/server-safe/PermissionFunctions.d.ts.map +1 -0
  384. package/dist/dist/server-safe/PermissionFunctions.js +39 -0
  385. package/dist/dist/server-safe/PermissionFunctions.js.map +1 -0
  386. package/dist/dist/server-safe/TagFunctions.d.ts +18 -0
  387. package/dist/dist/server-safe/TagFunctions.d.ts.map +1 -0
  388. package/dist/dist/server-safe/TagFunctions.js +52 -0
  389. package/dist/dist/server-safe/TagFunctions.js.map +1 -0
  390. package/dist/dist/server-safe/autoJobType.d.ts +16 -0
  391. package/dist/dist/server-safe/autoJobType.d.ts.map +1 -0
  392. package/dist/dist/server-safe/autoJobType.js +39 -0
  393. package/dist/dist/server-safe/autoJobType.js.map +1 -0
  394. package/dist/dist/server-safe/autoJobType.test.d.ts +2 -0
  395. package/dist/dist/server-safe/autoJobType.test.d.ts.map +1 -0
  396. package/dist/dist/server-safe/autoJobType.test.js +83 -0
  397. package/dist/dist/server-safe/autoJobType.test.js.map +1 -0
  398. package/dist/dist/server-safe/automations.d.ts +197 -0
  399. package/dist/dist/server-safe/automations.d.ts.map +1 -0
  400. package/dist/dist/server-safe/automations.js +757 -0
  401. package/dist/dist/server-safe/automations.js.map +1 -0
  402. package/dist/dist/server-safe/automations.test.d.ts +2 -0
  403. package/dist/dist/server-safe/automations.test.d.ts.map +1 -0
  404. package/dist/dist/server-safe/automations.test.js +441 -0
  405. package/dist/dist/server-safe/automations.test.js.map +1 -0
  406. package/dist/dist/server-safe/constants.d.ts +156 -0
  407. package/dist/dist/server-safe/constants.d.ts.map +1 -0
  408. package/dist/dist/server-safe/constants.js +186 -0
  409. package/dist/dist/server-safe/constants.js.map +1 -0
  410. package/dist/dist/server-safe/contracts.d.ts +3 -0
  411. package/dist/dist/server-safe/contracts.d.ts.map +1 -0
  412. package/dist/dist/server-safe/contracts.js +15 -0
  413. package/dist/dist/server-safe/contracts.js.map +1 -0
  414. package/dist/dist/server-safe/database.types.d.ts +9510 -0
  415. package/dist/dist/server-safe/database.types.d.ts.map +1 -0
  416. package/dist/dist/server-safe/database.types.js +40 -0
  417. package/dist/dist/server-safe/database.types.js.map +1 -0
  418. package/dist/dist/server-safe/entitlements.d.ts +99 -0
  419. package/dist/dist/server-safe/entitlements.d.ts.map +1 -0
  420. package/dist/dist/server-safe/entitlements.js +487 -0
  421. package/dist/dist/server-safe/entitlements.js.map +1 -0
  422. package/dist/dist/server-safe/facebookAdsLeads.d.ts +225 -0
  423. package/dist/dist/server-safe/facebookAdsLeads.d.ts.map +1 -0
  424. package/dist/dist/server-safe/facebookAdsLeads.js +376 -0
  425. package/dist/dist/server-safe/facebookAdsLeads.js.map +1 -0
  426. package/dist/dist/server-safe/facebookAdsLeads.test.d.ts +2 -0
  427. package/dist/dist/server-safe/facebookAdsLeads.test.d.ts.map +1 -0
  428. package/dist/dist/server-safe/facebookAdsLeads.test.js +189 -0
  429. package/dist/dist/server-safe/facebookAdsLeads.test.js.map +1 -0
  430. package/dist/dist/server-safe/facebookAdsLeadsSql.test.d.ts +2 -0
  431. package/dist/dist/server-safe/facebookAdsLeadsSql.test.d.ts.map +1 -0
  432. package/dist/dist/server-safe/facebookAdsLeadsSql.test.js +32 -0
  433. package/dist/dist/server-safe/facebookAdsLeadsSql.test.js.map +1 -0
  434. package/dist/dist/server-safe/facebookMessenger.d.ts +20 -0
  435. package/dist/dist/server-safe/facebookMessenger.d.ts.map +1 -0
  436. package/dist/dist/server-safe/facebookMessenger.js +63 -0
  437. package/dist/dist/server-safe/facebookMessenger.js.map +1 -0
  438. package/dist/dist/server-safe/facebookMessenger.test.d.ts +2 -0
  439. package/dist/dist/server-safe/facebookMessenger.test.d.ts.map +1 -0
  440. package/dist/dist/server-safe/facebookMessenger.test.js +51 -0
  441. package/dist/dist/server-safe/facebookMessenger.test.js.map +1 -0
  442. package/dist/dist/server-safe/helpers.d.ts +78 -0
  443. package/dist/dist/server-safe/helpers.d.ts.map +1 -0
  444. package/dist/dist/server-safe/helpers.js +569 -0
  445. package/dist/dist/server-safe/helpers.js.map +1 -0
  446. package/dist/dist/server-safe/index.d.ts +30 -0
  447. package/dist/dist/server-safe/index.d.ts.map +1 -0
  448. package/dist/dist/server-safe/index.js +46 -0
  449. package/dist/dist/server-safe/index.js.map +1 -0
  450. package/dist/dist/server-safe/permissions.d.ts +29 -0
  451. package/dist/dist/server-safe/permissions.d.ts.map +1 -0
  452. package/dist/dist/server-safe/permissions.js +180 -0
  453. package/dist/dist/server-safe/permissions.js.map +1 -0
  454. package/dist/dist/server-safe/proposals.d.ts +6 -0
  455. package/dist/dist/server-safe/proposals.d.ts.map +1 -0
  456. package/dist/dist/server-safe/proposals.js +58 -0
  457. package/dist/dist/server-safe/proposals.js.map +1 -0
  458. package/dist/dist/server-safe/rentalAvailability.d.ts +56 -0
  459. package/dist/dist/server-safe/rentalAvailability.d.ts.map +1 -0
  460. package/dist/dist/server-safe/rentalAvailability.js +124 -0
  461. package/dist/dist/server-safe/rentalAvailability.js.map +1 -0
  462. package/dist/dist/server-safe/rentalAvailability.test.d.ts +2 -0
  463. package/dist/dist/server-safe/rentalAvailability.test.d.ts.map +1 -0
  464. package/dist/dist/server-safe/rentalAvailability.test.js +290 -0
  465. package/dist/dist/server-safe/rentalAvailability.test.js.map +1 -0
  466. package/dist/dist/server-safe/rentals.d.ts +95 -0
  467. package/dist/dist/server-safe/rentals.d.ts.map +1 -0
  468. package/dist/dist/server-safe/rentals.js +432 -0
  469. package/dist/dist/server-safe/rentals.js.map +1 -0
  470. package/dist/dist/server-safe/rentals.test.d.ts +2 -0
  471. package/dist/dist/server-safe/rentals.test.d.ts.map +1 -0
  472. package/dist/dist/server-safe/rentals.test.js +1034 -0
  473. package/dist/dist/server-safe/rentals.test.js.map +1 -0
  474. package/dist/dist/server-safe/routeOptimization.d.ts +155 -0
  475. package/dist/dist/server-safe/routeOptimization.d.ts.map +1 -0
  476. package/dist/dist/server-safe/routeOptimization.js +120 -0
  477. package/dist/dist/server-safe/routeOptimization.js.map +1 -0
  478. package/dist/dist/server-safe/routeOptimization.test.d.ts +2 -0
  479. package/dist/dist/server-safe/routeOptimization.test.d.ts.map +1 -0
  480. package/dist/dist/server-safe/routeOptimization.test.js +234 -0
  481. package/dist/dist/server-safe/routeOptimization.test.js.map +1 -0
  482. package/dist/dist/server-safe/routePlanFingerprint.d.ts +13 -0
  483. package/dist/dist/server-safe/routePlanFingerprint.d.ts.map +1 -0
  484. package/dist/dist/server-safe/routePlanFingerprint.js +49 -0
  485. package/dist/dist/server-safe/routePlanFingerprint.js.map +1 -0
  486. package/dist/dist/server-safe/routePlanFingerprint.test.d.ts +2 -0
  487. package/dist/dist/server-safe/routePlanFingerprint.test.d.ts.map +1 -0
  488. package/dist/dist/server-safe/routePlanFingerprint.test.js +68 -0
  489. package/dist/dist/server-safe/routePlanFingerprint.test.js.map +1 -0
  490. package/dist/dist/server-safe/scheduleListOrder.d.ts +18 -0
  491. package/dist/dist/server-safe/scheduleListOrder.d.ts.map +1 -0
  492. package/dist/dist/server-safe/scheduleListOrder.js +92 -0
  493. package/dist/dist/server-safe/scheduleListOrder.js.map +1 -0
  494. package/dist/dist/server-safe/scheduleListOrder.test.d.ts +2 -0
  495. package/dist/dist/server-safe/scheduleListOrder.test.d.ts.map +1 -0
  496. package/dist/dist/server-safe/scheduleListOrder.test.js +260 -0
  497. package/dist/dist/server-safe/scheduleListOrder.test.js.map +1 -0
  498. package/dist/dist/server-safe/serviceMinutes.d.ts +13 -0
  499. package/dist/dist/server-safe/serviceMinutes.d.ts.map +1 -0
  500. package/dist/dist/server-safe/serviceMinutes.js +38 -0
  501. package/dist/dist/server-safe/serviceMinutes.js.map +1 -0
  502. package/dist/dist/server-safe/serviceMinutes.test.d.ts +2 -0
  503. package/dist/dist/server-safe/serviceMinutes.test.d.ts.map +1 -0
  504. package/dist/dist/server-safe/serviceMinutes.test.js +86 -0
  505. package/dist/dist/server-safe/serviceMinutes.test.js.map +1 -0
  506. package/dist/dist/server-safe/settingsSearch.d.ts +24 -0
  507. package/dist/dist/server-safe/settingsSearch.d.ts.map +1 -0
  508. package/dist/dist/server-safe/settingsSearch.js +8 -0
  509. package/dist/dist/server-safe/settingsSearch.js.map +1 -0
  510. package/dist/dist/server-safe/supportChat.d.ts +59 -0
  511. package/dist/dist/server-safe/supportChat.d.ts.map +1 -0
  512. package/dist/dist/server-safe/supportChat.js +56 -0
  513. package/dist/dist/server-safe/supportChat.js.map +1 -0
  514. package/dist/dist/server-safe/templates.d.ts +15 -0
  515. package/dist/dist/server-safe/templates.d.ts.map +1 -0
  516. package/dist/dist/server-safe/templates.js +91 -0
  517. package/dist/dist/server-safe/templates.js.map +1 -0
  518. package/dist/dist/server-safe/templates.test.d.ts +2 -0
  519. package/dist/dist/server-safe/templates.test.d.ts.map +1 -0
  520. package/dist/dist/server-safe/templates.test.js +62 -0
  521. package/dist/dist/server-safe/templates.test.js.map +1 -0
  522. package/dist/dist/server-safe/trash.d.ts +50 -0
  523. package/dist/dist/server-safe/trash.d.ts.map +1 -0
  524. package/dist/dist/server-safe/trash.js +100 -0
  525. package/dist/dist/server-safe/trash.js.map +1 -0
  526. package/dist/dist/utils/LogHandler.d.ts +3 -0
  527. package/dist/dist/utils/LogHandler.d.ts.map +1 -0
  528. package/dist/dist/utils/LogHandler.js +16 -0
  529. package/dist/dist/utils/LogHandler.js.map +1 -0
  530. package/dist/dist/utils/convertSupabaseImagesToAssets.d.ts +28 -0
  531. package/dist/dist/utils/convertSupabaseImagesToAssets.d.ts.map +1 -0
  532. package/dist/dist/utils/convertSupabaseImagesToAssets.js +14 -0
  533. package/dist/dist/utils/convertSupabaseImagesToAssets.js.map +1 -0
  534. package/dist/index.d.ts +45 -0
  535. package/dist/index.d.ts.map +1 -0
  536. package/dist/index.js +61 -0
  537. package/dist/index.js.map +1 -0
  538. package/dist/interfaces/index.d.ts +1238 -0
  539. package/dist/interfaces/index.d.ts.map +1 -0
  540. package/dist/interfaces/index.js +3 -0
  541. package/dist/interfaces/index.js.map +1 -0
  542. package/dist/providers/AddressProvider.d.ts +9 -0
  543. package/dist/providers/AddressProvider.d.ts.map +1 -0
  544. package/dist/providers/AddressProvider.js +207 -0
  545. package/dist/providers/AddressProvider.js.map +1 -0
  546. package/dist/providers/AutomationsProvider.d.ts +11 -0
  547. package/dist/providers/AutomationsProvider.d.ts.map +1 -0
  548. package/dist/providers/AutomationsProvider.js +170 -0
  549. package/dist/providers/AutomationsProvider.js.map +1 -0
  550. package/dist/providers/BlockedNumbersProvider.d.ts +7 -0
  551. package/dist/providers/BlockedNumbersProvider.d.ts.map +1 -0
  552. package/dist/providers/BlockedNumbersProvider.js +71 -0
  553. package/dist/providers/BlockedNumbersProvider.js.map +1 -0
  554. package/dist/providers/CategoryProvider.d.ts +8 -0
  555. package/dist/providers/CategoryProvider.d.ts.map +1 -0
  556. package/dist/providers/CategoryProvider.js +95 -0
  557. package/dist/providers/CategoryProvider.js.map +1 -0
  558. package/dist/providers/ClientProvider.d.ts +39 -0
  559. package/dist/providers/ClientProvider.d.ts.map +1 -0
  560. package/dist/providers/ClientProvider.js +253 -0
  561. package/dist/providers/ClientProvider.js.map +1 -0
  562. package/dist/providers/CompanyProvider.d.ts +7 -0
  563. package/dist/providers/CompanyProvider.d.ts.map +1 -0
  564. package/dist/providers/CompanyProvider.js +114 -0
  565. package/dist/providers/CompanyProvider.js.map +1 -0
  566. package/dist/providers/DashboardProvider.d.ts +78 -0
  567. package/dist/providers/DashboardProvider.d.ts.map +1 -0
  568. package/dist/providers/DashboardProvider.js +568 -0
  569. package/dist/providers/DashboardProvider.js.map +1 -0
  570. package/dist/providers/DiscountProvider.d.ts +8 -0
  571. package/dist/providers/DiscountProvider.d.ts.map +1 -0
  572. package/dist/providers/DiscountProvider.js +92 -0
  573. package/dist/providers/DiscountProvider.js.map +1 -0
  574. package/dist/providers/EmployeesProvider.d.ts +6 -0
  575. package/dist/providers/EmployeesProvider.d.ts.map +1 -0
  576. package/dist/providers/EmployeesProvider.js +185 -0
  577. package/dist/providers/EmployeesProvider.js.map +1 -0
  578. package/dist/providers/EstimatesProvider.d.ts +16 -0
  579. package/dist/providers/EstimatesProvider.d.ts.map +1 -0
  580. package/dist/providers/EstimatesProvider.js +251 -0
  581. package/dist/providers/EstimatesProvider.js.map +1 -0
  582. package/dist/providers/EventsProvider.d.ts +4 -0
  583. package/dist/providers/EventsProvider.d.ts.map +1 -0
  584. package/dist/providers/EventsProvider.js +24 -0
  585. package/dist/providers/EventsProvider.js.map +1 -0
  586. package/dist/providers/FilesProvider.d.ts +17 -0
  587. package/dist/providers/FilesProvider.d.ts.map +1 -0
  588. package/dist/providers/FilesProvider.js +201 -0
  589. package/dist/providers/FilesProvider.js.map +1 -0
  590. package/dist/providers/InvoicesProvider.d.ts +13 -0
  591. package/dist/providers/InvoicesProvider.d.ts.map +1 -0
  592. package/dist/providers/InvoicesProvider.js +207 -0
  593. package/dist/providers/InvoicesProvider.js.map +1 -0
  594. package/dist/providers/ItemProvider.d.ts +9 -0
  595. package/dist/providers/ItemProvider.d.ts.map +1 -0
  596. package/dist/providers/ItemProvider.js +201 -0
  597. package/dist/providers/ItemProvider.js.map +1 -0
  598. package/dist/providers/JobSourceProvider.d.ts +8 -0
  599. package/dist/providers/JobSourceProvider.d.ts.map +1 -0
  600. package/dist/providers/JobSourceProvider.js +75 -0
  601. package/dist/providers/JobSourceProvider.js.map +1 -0
  602. package/dist/providers/JobTypeProvider.d.ts +8 -0
  603. package/dist/providers/JobTypeProvider.d.ts.map +1 -0
  604. package/dist/providers/JobTypeProvider.js +75 -0
  605. package/dist/providers/JobTypeProvider.js.map +1 -0
  606. package/dist/providers/JobsProvider.d.ts +20 -0
  607. package/dist/providers/JobsProvider.d.ts.map +1 -0
  608. package/dist/providers/JobsProvider.js +863 -0
  609. package/dist/providers/JobsProvider.js.map +1 -0
  610. package/dist/providers/MessagesProvider.d.ts +14 -0
  611. package/dist/providers/MessagesProvider.d.ts.map +1 -0
  612. package/dist/providers/MessagesProvider.js +415 -0
  613. package/dist/providers/MessagesProvider.js.map +1 -0
  614. package/dist/providers/PaymentProvider.d.ts +9 -0
  615. package/dist/providers/PaymentProvider.d.ts.map +1 -0
  616. package/dist/providers/PaymentProvider.js +48 -0
  617. package/dist/providers/PaymentProvider.js.map +1 -0
  618. package/dist/providers/PermissionRolesProvider.d.ts +5 -0
  619. package/dist/providers/PermissionRolesProvider.d.ts.map +1 -0
  620. package/dist/providers/PermissionRolesProvider.js +30 -0
  621. package/dist/providers/PermissionRolesProvider.js.map +1 -0
  622. package/dist/providers/PhoneNumberProvider.d.ts +12 -0
  623. package/dist/providers/PhoneNumberProvider.d.ts.map +1 -0
  624. package/dist/providers/PhoneNumberProvider.js +184 -0
  625. package/dist/providers/PhoneNumberProvider.js.map +1 -0
  626. package/dist/providers/ProfileProvider.d.ts +6 -0
  627. package/dist/providers/ProfileProvider.d.ts.map +1 -0
  628. package/dist/providers/ProfileProvider.js +71 -0
  629. package/dist/providers/ProfileProvider.js.map +1 -0
  630. package/dist/providers/RentalsProvider.d.ts +28 -0
  631. package/dist/providers/RentalsProvider.d.ts.map +1 -0
  632. package/dist/providers/RentalsProvider.js +438 -0
  633. package/dist/providers/RentalsProvider.js.map +1 -0
  634. package/dist/providers/SettingsBookingProvider.d.ts +9 -0
  635. package/dist/providers/SettingsBookingProvider.d.ts.map +1 -0
  636. package/dist/providers/SettingsBookingProvider.js +163 -0
  637. package/dist/providers/SettingsBookingProvider.js.map +1 -0
  638. package/dist/providers/SettingsProvider.d.ts +8 -0
  639. package/dist/providers/SettingsProvider.d.ts.map +1 -0
  640. package/dist/providers/SettingsProvider.js +86 -0
  641. package/dist/providers/SettingsProvider.js.map +1 -0
  642. package/dist/providers/TagsProvider.d.ts +12 -0
  643. package/dist/providers/TagsProvider.d.ts.map +1 -0
  644. package/dist/providers/TagsProvider.js +210 -0
  645. package/dist/providers/TagsProvider.js.map +1 -0
  646. package/dist/providers/TimeCardProvider.d.ts +8 -0
  647. package/dist/providers/TimeCardProvider.d.ts.map +1 -0
  648. package/dist/providers/TimeCardProvider.js +93 -0
  649. package/dist/providers/TimeCardProvider.js.map +1 -0
  650. package/dist/providers/TrashProvider.d.ts +13 -0
  651. package/dist/providers/TrashProvider.d.ts.map +1 -0
  652. package/dist/providers/TrashProvider.js +98 -0
  653. package/dist/providers/TrashProvider.js.map +1 -0
  654. package/dist/providers/dashboardAnalytics.d.ts +9 -0
  655. package/dist/providers/dashboardAnalytics.d.ts.map +1 -0
  656. package/dist/providers/dashboardAnalytics.js +41 -0
  657. package/dist/providers/dashboardAnalytics.js.map +1 -0
  658. package/dist/providers/dashboardAnalytics.test.d.ts +2 -0
  659. package/dist/providers/dashboardAnalytics.test.d.ts.map +1 -0
  660. package/dist/providers/dashboardAnalytics.test.js +111 -0
  661. package/dist/providers/dashboardAnalytics.test.js.map +1 -0
  662. package/dist/server-safe/BlockedNumberFunctions.d.ts +11 -0
  663. package/dist/server-safe/BlockedNumberFunctions.d.ts.map +1 -0
  664. package/dist/server-safe/BlockedNumberFunctions.js +16 -0
  665. package/dist/server-safe/BlockedNumberFunctions.js.map +1 -0
  666. package/dist/server-safe/EmployeeFunctions.d.ts +14 -0
  667. package/dist/server-safe/EmployeeFunctions.d.ts.map +1 -0
  668. package/dist/server-safe/EmployeeFunctions.js +70 -0
  669. package/dist/server-safe/EmployeeFunctions.js.map +1 -0
  670. package/dist/server-safe/EmployeeLocationFunctions.d.ts +7 -0
  671. package/dist/server-safe/EmployeeLocationFunctions.d.ts.map +1 -0
  672. package/dist/server-safe/EmployeeLocationFunctions.js +47 -0
  673. package/dist/server-safe/EmployeeLocationFunctions.js.map +1 -0
  674. package/dist/server-safe/EstimateFunctions.d.ts +15 -0
  675. package/dist/server-safe/EstimateFunctions.d.ts.map +1 -0
  676. package/dist/server-safe/EstimateFunctions.js +34 -0
  677. package/dist/server-safe/EstimateFunctions.js.map +1 -0
  678. package/dist/server-safe/InvoiceFunctions.d.ts +21 -0
  679. package/dist/server-safe/InvoiceFunctions.d.ts.map +1 -0
  680. package/dist/server-safe/InvoiceFunctions.js +124 -0
  681. package/dist/server-safe/InvoiceFunctions.js.map +1 -0
  682. package/dist/server-safe/JobFunctions.d.ts +15 -0
  683. package/dist/server-safe/JobFunctions.d.ts.map +1 -0
  684. package/dist/server-safe/JobFunctions.js +56 -0
  685. package/dist/server-safe/JobFunctions.js.map +1 -0
  686. package/dist/server-safe/PaymentFunctions.d.ts +16 -0
  687. package/dist/server-safe/PaymentFunctions.d.ts.map +1 -0
  688. package/dist/server-safe/PaymentFunctions.js +80 -0
  689. package/dist/server-safe/PaymentFunctions.js.map +1 -0
  690. package/dist/server-safe/PermissionFunctions.d.ts +7 -0
  691. package/dist/server-safe/PermissionFunctions.d.ts.map +1 -0
  692. package/dist/server-safe/PermissionFunctions.js +39 -0
  693. package/dist/server-safe/PermissionFunctions.js.map +1 -0
  694. package/dist/server-safe/TagFunctions.d.ts +18 -0
  695. package/dist/server-safe/TagFunctions.d.ts.map +1 -0
  696. package/dist/server-safe/TagFunctions.js +52 -0
  697. package/dist/server-safe/TagFunctions.js.map +1 -0
  698. package/dist/server-safe/autoJobType.d.ts +16 -0
  699. package/dist/server-safe/autoJobType.d.ts.map +1 -0
  700. package/dist/server-safe/autoJobType.js +39 -0
  701. package/dist/server-safe/autoJobType.js.map +1 -0
  702. package/dist/server-safe/autoJobType.test.d.ts +2 -0
  703. package/dist/server-safe/autoJobType.test.d.ts.map +1 -0
  704. package/dist/server-safe/autoJobType.test.js +83 -0
  705. package/dist/server-safe/autoJobType.test.js.map +1 -0
  706. package/dist/server-safe/automations.d.ts +197 -0
  707. package/dist/server-safe/automations.d.ts.map +1 -0
  708. package/dist/server-safe/automations.js +757 -0
  709. package/dist/server-safe/automations.js.map +1 -0
  710. package/dist/server-safe/automations.test.d.ts +2 -0
  711. package/dist/server-safe/automations.test.d.ts.map +1 -0
  712. package/dist/server-safe/automations.test.js +441 -0
  713. package/dist/server-safe/automations.test.js.map +1 -0
  714. package/dist/server-safe/constants.d.ts +156 -0
  715. package/dist/server-safe/constants.d.ts.map +1 -0
  716. package/dist/server-safe/constants.js +186 -0
  717. package/dist/server-safe/constants.js.map +1 -0
  718. package/dist/server-safe/contracts.d.ts +3 -0
  719. package/dist/server-safe/contracts.d.ts.map +1 -0
  720. package/dist/server-safe/contracts.js +15 -0
  721. package/dist/server-safe/contracts.js.map +1 -0
  722. package/dist/server-safe/database.types.d.ts +9510 -0
  723. package/dist/server-safe/database.types.d.ts.map +1 -0
  724. package/dist/server-safe/database.types.js +40 -0
  725. package/dist/server-safe/database.types.js.map +1 -0
  726. package/dist/server-safe/entitlements.d.ts +99 -0
  727. package/dist/server-safe/entitlements.d.ts.map +1 -0
  728. package/dist/server-safe/entitlements.js +487 -0
  729. package/dist/server-safe/entitlements.js.map +1 -0
  730. package/dist/server-safe/helpers.d.ts +78 -0
  731. package/dist/server-safe/helpers.d.ts.map +1 -0
  732. package/dist/server-safe/helpers.js +569 -0
  733. package/dist/server-safe/helpers.js.map +1 -0
  734. package/dist/server-safe/index.d.ts +30 -0
  735. package/dist/server-safe/index.d.ts.map +1 -0
  736. package/dist/server-safe/index.js +46 -0
  737. package/dist/server-safe/index.js.map +1 -0
  738. package/dist/server-safe/permissions.d.ts +29 -0
  739. package/dist/server-safe/permissions.d.ts.map +1 -0
  740. package/dist/server-safe/permissions.js +180 -0
  741. package/dist/server-safe/permissions.js.map +1 -0
  742. package/dist/server-safe/proposals.d.ts +6 -0
  743. package/dist/server-safe/proposals.d.ts.map +1 -0
  744. package/dist/server-safe/proposals.js +58 -0
  745. package/dist/server-safe/proposals.js.map +1 -0
  746. package/dist/server-safe/rentalAvailability.d.ts +56 -0
  747. package/dist/server-safe/rentalAvailability.d.ts.map +1 -0
  748. package/dist/server-safe/rentalAvailability.js +124 -0
  749. package/dist/server-safe/rentalAvailability.js.map +1 -0
  750. package/dist/server-safe/rentalAvailability.test.d.ts +2 -0
  751. package/dist/server-safe/rentalAvailability.test.d.ts.map +1 -0
  752. package/dist/server-safe/rentalAvailability.test.js +290 -0
  753. package/dist/server-safe/rentalAvailability.test.js.map +1 -0
  754. package/dist/server-safe/rentals.d.ts +95 -0
  755. package/dist/server-safe/rentals.d.ts.map +1 -0
  756. package/dist/server-safe/rentals.js +432 -0
  757. package/dist/server-safe/rentals.js.map +1 -0
  758. package/dist/server-safe/rentals.test.d.ts +2 -0
  759. package/dist/server-safe/rentals.test.d.ts.map +1 -0
  760. package/dist/server-safe/rentals.test.js +1034 -0
  761. package/dist/server-safe/rentals.test.js.map +1 -0
  762. package/dist/server-safe/routeOptimization.d.ts +155 -0
  763. package/dist/server-safe/routeOptimization.d.ts.map +1 -0
  764. package/dist/server-safe/routeOptimization.js +120 -0
  765. package/dist/server-safe/routeOptimization.js.map +1 -0
  766. package/dist/server-safe/routeOptimization.test.d.ts +2 -0
  767. package/dist/server-safe/routeOptimization.test.d.ts.map +1 -0
  768. package/dist/server-safe/routeOptimization.test.js +234 -0
  769. package/dist/server-safe/routeOptimization.test.js.map +1 -0
  770. package/dist/server-safe/routePlanFingerprint.d.ts +13 -0
  771. package/dist/server-safe/routePlanFingerprint.d.ts.map +1 -0
  772. package/dist/server-safe/routePlanFingerprint.js +49 -0
  773. package/dist/server-safe/routePlanFingerprint.js.map +1 -0
  774. package/dist/server-safe/routePlanFingerprint.test.d.ts +2 -0
  775. package/dist/server-safe/routePlanFingerprint.test.d.ts.map +1 -0
  776. package/dist/server-safe/routePlanFingerprint.test.js +68 -0
  777. package/dist/server-safe/routePlanFingerprint.test.js.map +1 -0
  778. package/dist/server-safe/scheduleListOrder.d.ts +18 -0
  779. package/dist/server-safe/scheduleListOrder.d.ts.map +1 -0
  780. package/dist/server-safe/scheduleListOrder.js +92 -0
  781. package/dist/server-safe/scheduleListOrder.js.map +1 -0
  782. package/dist/server-safe/scheduleListOrder.test.d.ts +2 -0
  783. package/dist/server-safe/scheduleListOrder.test.d.ts.map +1 -0
  784. package/dist/server-safe/scheduleListOrder.test.js +260 -0
  785. package/dist/server-safe/scheduleListOrder.test.js.map +1 -0
  786. package/dist/server-safe/serviceMinutes.d.ts +13 -0
  787. package/dist/server-safe/serviceMinutes.d.ts.map +1 -0
  788. package/dist/server-safe/serviceMinutes.js +38 -0
  789. package/dist/server-safe/serviceMinutes.js.map +1 -0
  790. package/dist/server-safe/serviceMinutes.test.d.ts +2 -0
  791. package/dist/server-safe/serviceMinutes.test.d.ts.map +1 -0
  792. package/dist/server-safe/serviceMinutes.test.js +86 -0
  793. package/dist/server-safe/serviceMinutes.test.js.map +1 -0
  794. package/dist/server-safe/settingsSearch.d.ts +24 -0
  795. package/dist/server-safe/settingsSearch.d.ts.map +1 -0
  796. package/dist/server-safe/settingsSearch.js +8 -0
  797. package/dist/server-safe/settingsSearch.js.map +1 -0
  798. package/dist/server-safe/supportChat.d.ts +59 -0
  799. package/dist/server-safe/supportChat.d.ts.map +1 -0
  800. package/dist/server-safe/supportChat.js +56 -0
  801. package/dist/server-safe/supportChat.js.map +1 -0
  802. package/dist/server-safe/templates.d.ts +15 -0
  803. package/dist/server-safe/templates.d.ts.map +1 -0
  804. package/dist/server-safe/templates.js +91 -0
  805. package/dist/server-safe/templates.js.map +1 -0
  806. package/dist/server-safe/templates.test.d.ts +2 -0
  807. package/dist/server-safe/templates.test.d.ts.map +1 -0
  808. package/dist/server-safe/templates.test.js +62 -0
  809. package/dist/server-safe/templates.test.js.map +1 -0
  810. package/dist/server-safe/trash.d.ts +50 -0
  811. package/dist/server-safe/trash.d.ts.map +1 -0
  812. package/dist/server-safe/trash.js +100 -0
  813. package/dist/server-safe/trash.js.map +1 -0
  814. package/dist/utils/LogHandler.d.ts +3 -0
  815. package/dist/utils/LogHandler.d.ts.map +1 -0
  816. package/dist/utils/LogHandler.js +16 -0
  817. package/dist/utils/LogHandler.js.map +1 -0
  818. package/dist/utils/convertSupabaseImagesToAssets.d.ts +28 -0
  819. package/dist/utils/convertSupabaseImagesToAssets.d.ts.map +1 -0
  820. package/dist/utils/convertSupabaseImagesToAssets.js +14 -0
  821. package/dist/utils/convertSupabaseImagesToAssets.js.map +1 -0
  822. package/package.json +37 -0
@@ -0,0 +1,1074 @@
1
+ -- Shared, immutable image keys replace the old per-company copies in Storage.
2
+ -- A null key means the row has no bundled default image.
3
+ alter table "public"."category"
4
+ add column "default_image_key" text;
5
+
6
+ alter table "public"."category"
7
+ add constraint "category_default_image_key_format_check"
8
+ check (
9
+ "default_image_key" is null
10
+ or "default_image_key" ~ '^categories/[a-z0-9]+(-[a-z0-9]+)*[.]gif$'
11
+ );
12
+
13
+ create unique index "category_company_default_image_key_key"
14
+ on "public"."category" ("company_id", "default_image_key")
15
+ where "default_image_key" is not null;
16
+
17
+ alter table "public"."item"
18
+ add column "default_image_key" text;
19
+
20
+ alter table "public"."item"
21
+ add constraint "item_default_image_key_format_check"
22
+ check (
23
+ "default_image_key" is null
24
+ or "default_image_key" ~ '^items/[a-z0-9]+(-[a-z0-9]+)*[.]gif$'
25
+ );
26
+
27
+ create unique index "item_company_default_image_key_key"
28
+ on "public"."item" ("company_id", "default_image_key")
29
+ where "default_image_key" is not null;
30
+
31
+ -- One committed row means this company completed this exact preload version.
32
+ -- The composite primary key is also the concurrency-safe claim used by the RPC.
33
+ create table "public"."onboarding_preload_run" (
34
+ "company_id" uuid not null,
35
+ "preload_key" text not null,
36
+ "requested_by" uuid,
37
+ "created_at" timestamp with time zone not null default now(),
38
+ "completed_at" timestamp with time zone not null default now(),
39
+ "result" jsonb not null default '{}'::jsonb,
40
+ constraint "onboarding_preload_run_pkey"
41
+ primary key ("company_id", "preload_key"),
42
+ constraint "onboarding_preload_run_company_id_fkey"
43
+ foreign key ("company_id")
44
+ references "public"."company" ("id")
45
+ on delete cascade,
46
+ constraint "onboarding_preload_run_requested_by_fkey"
47
+ foreign key ("requested_by")
48
+ references "public"."user" ("id")
49
+ on delete set null,
50
+ constraint "onboarding_preload_run_preload_key_check"
51
+ check ("preload_key" ~ '^[a-z0-9]+(-[a-z0-9]+)*-v[1-9][0-9]*$')
52
+ );
53
+
54
+ create index "onboarding_preload_run_requested_by_idx"
55
+ on "public"."onboarding_preload_run" ("requested_by")
56
+ where "requested_by" is not null;
57
+
58
+ -- This RPC deliberately accepts no tenant or seed-data arguments. It derives
59
+ -- the requester, role, company, owner, address, industry, and timezone from the
60
+ -- database. Postgres executes a function call as one transaction, so any error
61
+ -- rolls back the claim and every inserted sample row.
62
+ create or replace function "public"."preload_onboarding_data"()
63
+ returns jsonb
64
+ language plpgsql
65
+ security definer
66
+ set search_path = pg_catalog, public, pg_temp
67
+ as $function$
68
+ declare
69
+ v_preload_key constant text := 'junk-removal-v1';
70
+ v_requester_id uuid := "auth"."uid"();
71
+ v_company_id uuid;
72
+ v_company_name text;
73
+ v_industry text;
74
+ v_time_zone text;
75
+ v_owner_id uuid;
76
+ v_owner_email text;
77
+ v_owner_first_name text;
78
+ v_owner_last_name text;
79
+ v_owner_phone text;
80
+ v_company_address_id uuid;
81
+ v_company_address text;
82
+ v_company_city text;
83
+ v_company_state text;
84
+ v_company_zip_code text;
85
+ v_company_latitude double precision;
86
+ v_company_longitude double precision;
87
+ v_include_owner boolean := false;
88
+ v_local_date date;
89
+ v_claimed integer;
90
+ v_result jsonb;
91
+
92
+ v_client_1_id uuid := "extensions"."gen_random_uuid"();
93
+ v_client_2_id uuid := "extensions"."gen_random_uuid"();
94
+ v_client_3_id uuid := "extensions"."gen_random_uuid"();
95
+ v_owner_client_id uuid := "extensions"."gen_random_uuid"();
96
+ v_address_1_id uuid := "extensions"."gen_random_uuid"();
97
+ v_address_2_id uuid := "extensions"."gen_random_uuid"();
98
+ v_address_3_id uuid := "extensions"."gen_random_uuid"();
99
+ v_owner_address_id uuid := "extensions"."gen_random_uuid"();
100
+ v_job_1_id uuid := "extensions"."gen_random_uuid"();
101
+ v_job_2_id uuid := "extensions"."gen_random_uuid"();
102
+ v_job_3_id uuid := "extensions"."gen_random_uuid"();
103
+ v_schedule_1_id uuid := "extensions"."gen_random_uuid"();
104
+ v_schedule_2_id uuid := "extensions"."gen_random_uuid"();
105
+ v_schedule_3_id uuid := "extensions"."gen_random_uuid"();
106
+ v_invoice_1_id uuid := "extensions"."gen_random_uuid"();
107
+ v_invoice_2_id uuid := "extensions"."gen_random_uuid"();
108
+ v_invoice_3_id uuid := "extensions"."gen_random_uuid"();
109
+ begin
110
+ if v_requester_id is null then
111
+ raise exception using
112
+ errcode = '42501',
113
+ message = 'Authentication is required to preload onboarding data';
114
+ end if;
115
+
116
+ select
117
+ "user_role"."company_id",
118
+ "company"."company_name",
119
+ "company"."industry",
120
+ "company"."time_zone"
121
+ into
122
+ v_company_id,
123
+ v_company_name,
124
+ v_industry,
125
+ v_time_zone
126
+ from "public"."user_role"
127
+ inner join "public"."user"
128
+ on "user"."id" = "user_role"."user_id"
129
+ and "user"."company_id" = "user_role"."company_id"
130
+ inner join "public"."company"
131
+ on "company"."id" = "user_role"."company_id"
132
+ where "user_role"."user_id" = v_requester_id
133
+ and "user_role"."role_id" in (1, 2)
134
+ and "user"."is_current_employee" = true
135
+ and "user"."is_hidden" = false
136
+ order by
137
+ case when "user_role"."role_id" = 1 then 0 else 1 end,
138
+ "user_role"."created_at"
139
+ limit 1;
140
+
141
+ if v_company_id is null then
142
+ raise exception using
143
+ errcode = '42501',
144
+ message = 'Only a current company owner or admin can preload onboarding data';
145
+ end if;
146
+
147
+ if v_industry is null
148
+ or v_industry not in ('junk_removal', 'junk_removal_dumpster_rental')
149
+ then
150
+ raise exception using
151
+ errcode = '22023',
152
+ message = 'Onboarding preload data is only available for junk-removal companies';
153
+ end if;
154
+
155
+ insert into "public"."onboarding_preload_run" (
156
+ "company_id",
157
+ "preload_key",
158
+ "requested_by"
159
+ )
160
+ values (
161
+ v_company_id,
162
+ v_preload_key,
163
+ v_requester_id
164
+ )
165
+ on conflict ("company_id", "preload_key") do nothing;
166
+
167
+ get diagnostics v_claimed = row_count;
168
+
169
+ if v_claimed = 0 then
170
+ select "onboarding_preload_run"."result"
171
+ into v_result
172
+ from "public"."onboarding_preload_run"
173
+ where "onboarding_preload_run"."company_id" = v_company_id
174
+ and "onboarding_preload_run"."preload_key" = v_preload_key;
175
+
176
+ return coalesce(v_result, '{}'::jsonb)
177
+ || jsonb_build_object(
178
+ 'already_preloaded', true,
179
+ 'preload_key', v_preload_key
180
+ );
181
+ end if;
182
+
183
+ -- Validate the timezone before writing any sample rows.
184
+ v_local_date := (clock_timestamp() at time zone v_time_zone)::date;
185
+
186
+ select
187
+ "user"."id",
188
+ "user"."email",
189
+ "user"."first_name",
190
+ "user"."last_name",
191
+ "user"."phone_number"
192
+ into
193
+ v_owner_id,
194
+ v_owner_email,
195
+ v_owner_first_name,
196
+ v_owner_last_name,
197
+ v_owner_phone
198
+ from "public"."user_role"
199
+ inner join "public"."user"
200
+ on "user"."id" = "user_role"."user_id"
201
+ and "user"."company_id" = "user_role"."company_id"
202
+ where "user_role"."company_id" = v_company_id
203
+ and "user_role"."role_id" = 1
204
+ and "user"."is_current_employee" = true
205
+ and "user"."is_hidden" = false
206
+ order by "user_role"."created_at"
207
+ limit 1;
208
+
209
+ select
210
+ "address"."id",
211
+ "address"."address",
212
+ "address"."city",
213
+ "address"."state",
214
+ "address"."zip_code",
215
+ "address"."latitude",
216
+ "address"."longitude"
217
+ into
218
+ v_company_address_id,
219
+ v_company_address,
220
+ v_company_city,
221
+ v_company_state,
222
+ v_company_zip_code,
223
+ v_company_latitude,
224
+ v_company_longitude
225
+ from "public"."address"
226
+ where "address"."company_id" = v_company_id
227
+ and "address"."is_companys" = true
228
+ and "address"."is_deleted" is null
229
+ order by "address"."is_primary" desc, "address"."created_at"
230
+ limit 1;
231
+
232
+ v_include_owner := v_owner_id is not null
233
+ and v_company_address_id is not null;
234
+
235
+ insert into "public"."job_source" ("company_id", "name", "category")
236
+ values
237
+ (v_company_id, 'Google Ads', 'paid'),
238
+ (v_company_id, 'Facebook Ads', 'paid'),
239
+ (v_company_id, 'Bing Ads', 'paid'),
240
+ (v_company_id, 'Yelp Ads', 'paid'),
241
+ (v_company_id, 'Yard Signs', 'paid'),
242
+ (v_company_id, 'Craigslist', 'paid'),
243
+ (v_company_id, 'Door Hangers', 'paid'),
244
+ (v_company_id, 'Angies', 'paid'),
245
+ (v_company_id, 'Google Local Services', 'paid'),
246
+ (v_company_id, 'EDDM', 'paid'),
247
+ (v_company_id, 'Thumbtack', 'paid'),
248
+ (v_company_id, 'Repeat', 'organic'),
249
+ (v_company_id, 'Google Maps', 'organic'),
250
+ (v_company_id, 'Website', 'organic'),
251
+ (v_company_id, 'Online Booking', 'organic'),
252
+ (v_company_id, 'Referral', 'organic'),
253
+ (v_company_id, 'Unknown', 'unknown');
254
+
255
+ insert into "public"."job_type" ("company_id", "name")
256
+ values
257
+ (v_company_id, 'Junk Removal'),
258
+ (v_company_id, 'Demolition'),
259
+ (v_company_id, 'Junk Removal & Demolition'),
260
+ (v_company_id, 'Moving / Labor Only'),
261
+ (v_company_id, 'Delivery / Pickup'),
262
+ (v_company_id, 'Odd Jobs'),
263
+ (v_company_id, 'Cleanout');
264
+
265
+ insert into "public"."category" (
266
+ "company_id",
267
+ "name",
268
+ "note",
269
+ "default_image_key"
270
+ )
271
+ values
272
+ (
273
+ v_company_id,
274
+ 'Junk Removal',
275
+ 'Junk removal is the process of collecting, hauling, and responsibly disposing of unwanted items, debris, and waste from homes, businesses, or construction sites.',
276
+ 'categories/junk-removal.gif'
277
+ ),
278
+ (
279
+ v_company_id,
280
+ 'Dumpster Rental',
281
+ 'Dumpster rental is a service that provides temporary waste containers for homes, businesses, or construction projects, allowing for easy disposal of debris and junk.',
282
+ 'categories/dumpster-rental.gif'
283
+ ),
284
+ (
285
+ v_company_id,
286
+ 'Overages',
287
+ 'Applies when the job exceeds the selected load size, time, or labor and requires additional truck space or effort.',
288
+ 'categories/overages.gif'
289
+ ),
290
+ (
291
+ v_company_id,
292
+ 'Fees',
293
+ 'Additional charges that may apply for payment processing, special handling, or regulated disposal requirements.',
294
+ 'categories/fees.gif'
295
+ ),
296
+ (
297
+ v_company_id,
298
+ 'Demolition',
299
+ 'Light demolition services such as sheds, small structures, or interior tear-outs, including teardown, loading, and hot tubs.',
300
+ 'categories/demolition.gif'
301
+ );
302
+
303
+ with "inserted_items" as (
304
+ insert into "public"."item" (
305
+ "company_id",
306
+ "is_booking",
307
+ "is_pricebook",
308
+ "item_name",
309
+ "item_price",
310
+ "description",
311
+ "category_id",
312
+ "item_type",
313
+ "model_number",
314
+ "taxable",
315
+ "payment_upfront",
316
+ "default_image_key"
317
+ )
318
+ select
319
+ v_company_id,
320
+ false,
321
+ true,
322
+ "seed"."item_name",
323
+ "seed"."item_price",
324
+ "seed"."description",
325
+ "category"."id",
326
+ 'Service',
327
+ '',
328
+ "seed"."taxable",
329
+ false,
330
+ "seed"."default_image_key"
331
+ from (
332
+ values
333
+ (
334
+ 'Demo - Hot Tub Removal',
335
+ 450::numeric,
336
+ 'Hot tub removed safely and professionally; when one-piece removal is not possible, the unit is cut into up to four sections to ensure safe transport and proper disposal. All labor, cutting, loading, and cleanup are included.',
337
+ true,
338
+ 'categories/demolition.gif',
339
+ 'items/demo-hot-tub-removal.gif'
340
+ ),
341
+ (
342
+ 'Demo - Shed Removal',
343
+ 450::numeric,
344
+ 'We tear down and haul away sheds up to a full 7.5 cubic yards, including the walls, roof, and debris. You don''t lift a thing - we demolish it, load it, and leave the area clean and ready to use.',
345
+ true,
346
+ 'categories/demolition.gif',
347
+ 'items/demo-shed-removal.gif'
348
+ ),
349
+ (
350
+ 'Fees - Bed Bugs',
351
+ 300::numeric,
352
+ 'Items contaminated with bed bugs require special handling and disposal to prevent spread; the space they take up still counts toward your total cubic yardage. Please notify us in advance so we can arrive prepared and handle everything safely and properly.',
353
+ false,
354
+ 'categories/fees.gif',
355
+ 'items/fees-bed-bugs.gif'
356
+ ),
357
+ (
358
+ 'Fees - Disassemble Item',
359
+ 20::numeric,
360
+ 'We safely take apart items so they fit efficiently within the truck''s cubic yard limits.',
361
+ false,
362
+ 'categories/fees.gif',
363
+ 'items/fees-disassemble-item.gif'
364
+ ),
365
+ (
366
+ 'Fees - Drug Paraphernalia',
367
+ 50::numeric,
368
+ 'Applies to items that require special handling and compliant disposal due to safety or legal requirements.',
369
+ false,
370
+ 'categories/fees.gif',
371
+ 'items/fees-drug-paraphernalia.gif'
372
+ ),
373
+ (
374
+ 'Fees - Extra Labor',
375
+ 50::numeric,
376
+ 'Additional manpower needed due to item size, weight, or complexity, regardless of cubic yards. ($50/hr per person)',
377
+ false,
378
+ 'categories/fees.gif',
379
+ 'items/fees-extra-labor.gif'
380
+ ),
381
+ (
382
+ 'Fees - Feces & Urine',
383
+ 300::numeric,
384
+ 'Biohazard material requiring special handling; volume still counts toward truck space.',
385
+ false,
386
+ 'categories/fees.gif',
387
+ 'items/fees-feces-urine.gif'
388
+ ),
389
+ (
390
+ 'Fees - Stairs',
391
+ 25::numeric,
392
+ 'Charged when items must be carried up or down stairs; volume is unchanged. ($20 per flight)',
393
+ false,
394
+ 'categories/fees.gif',
395
+ 'items/fees-stairs.gif'
396
+ ),
397
+ (
398
+ 'Overages - Bagging & Packing',
399
+ 50::numeric,
400
+ 'We bag loose items and organize everything to maximize space within your selected cubic yardage.',
401
+ false,
402
+ 'categories/overages.gif',
403
+ 'items/overages-bagging-packing.gif'
404
+ ),
405
+ (
406
+ 'Overages - Elevator + Long Distance',
407
+ 50::numeric,
408
+ 'Applies when items must be moved long distances or via elevators; volume remains unchanged.',
409
+ false,
410
+ 'categories/overages.gif',
411
+ 'items/overages-elevator-long-distance.gif'
412
+ ),
413
+ (
414
+ -- Deliberately in the Fees category despite the name, matching the
415
+ -- original onboarding dataset this migration replaces.
416
+ 'Overages - Hazardous Waste',
417
+ 50::numeric,
418
+ 'Materials needing regulated disposal; cubic yardage applies but restrictions may limit volume. ($50 per 5 gallons)',
419
+ false,
420
+ 'categories/fees.gif',
421
+ 'items/overages-hazardous-waste.gif'
422
+ ),
423
+ (
424
+ 'Overages - Heavy Weight',
425
+ 50::numeric,
426
+ 'Extremely heavy items that take up cubic yards and require extra effort or equipment. ($50 per quarter load)',
427
+ false,
428
+ 'categories/overages.gif',
429
+ 'items/overages-heavy-weight.gif'
430
+ ),
431
+ (
432
+ 'Overages - Long Distance',
433
+ 50::numeric,
434
+ 'Applies when items are far from the truck; cubic yardage remains the same. ($50 per 100 feet)',
435
+ false,
436
+ 'categories/overages.gif',
437
+ 'items/overages-long-distance.gif'
438
+ ),
439
+ (
440
+ 'Truck - 1/2 Truck Load',
441
+ 495::numeric,
442
+ 'About 7.5 cubic yards, commonly used for garage cleanouts or larger furniture loads.',
443
+ true,
444
+ 'categories/junk-removal.gif',
445
+ 'items/truck-1-2-truck-load.gif'
446
+ ),
447
+ (
448
+ 'Truck - 1/3 Truck Load',
449
+ 435::numeric,
450
+ 'Roughly 5 cubic yards, great for a small room cleanout or several furniture pieces.',
451
+ true,
452
+ 'categories/junk-removal.gif',
453
+ 'items/truck-1-3-truck-load.gif'
454
+ ),
455
+ (
456
+ 'Truck - 1/6 Truck Load',
457
+ 250::numeric,
458
+ 'About 2.5 cubic yards, ideal for a small pile or a couple of bulky items.',
459
+ true,
460
+ 'categories/junk-removal.gif',
461
+ 'items/truck-1-6-truck-load.gif'
462
+ ),
463
+ (
464
+ 'Truck - 1/8 Truck Load',
465
+ 195::numeric,
466
+ 'Approximately 1.9 cubic yards, perfect for a few small items or a very light pickup.',
467
+ true,
468
+ 'categories/junk-removal.gif',
469
+ 'items/truck-1-8-truck-load.gif'
470
+ ),
471
+ (
472
+ 'Truck - 2/3 Truck Load',
473
+ 565::numeric,
474
+ 'Around 10 cubic yards, ideal for major cleanups taking most of the truck.',
475
+ true,
476
+ 'categories/junk-removal.gif',
477
+ 'items/truck-2-3-truck-load.gif'
478
+ ),
479
+ (
480
+ 'Truck - 3/4 Truck Load',
481
+ 645::numeric,
482
+ 'About 11.25 cubic yards, perfect for large decluttering or partial property cleanouts.',
483
+ true,
484
+ 'categories/junk-removal.gif',
485
+ 'items/truck-3-4-truck-load.gif'
486
+ ),
487
+ (
488
+ 'Truck - 3/8 Truck Load',
489
+ 450::numeric,
490
+ 'Around 5.6 cubic yards, suitable for medium-sized piles with some bulk.',
491
+ true,
492
+ 'categories/junk-removal.gif',
493
+ 'items/truck-3-8-truck-load.gif'
494
+ ),
495
+ (
496
+ 'Truck - 5/8 Truck Load',
497
+ 530::numeric,
498
+ 'Approximately 9.4 cubic yards, when the job is getting big but not overwhelming.',
499
+ true,
500
+ 'categories/junk-removal.gif',
501
+ 'items/truck-5-8-truck-load.gif'
502
+ ),
503
+ (
504
+ 'Truck - 7/8 Truck Load',
505
+ 715::numeric,
506
+ 'Roughly 13.1 cubic yards, nearly a full truck with very little space left.',
507
+ true,
508
+ 'categories/junk-removal.gif',
509
+ 'items/truck-7-8-truck-load.gif'
510
+ ),
511
+ (
512
+ 'Truck - Full Load',
513
+ 795::numeric,
514
+ 'The entire truck, 15 cubic yards, filled completely from floor to ceiling.',
515
+ true,
516
+ 'categories/junk-removal.gif',
517
+ 'items/truck-full-load.gif'
518
+ ),
519
+ (
520
+ 'Truck - Minimum',
521
+ 125::numeric,
522
+ 'The minimum service charge for very small jobs, typically under 1 cubic yard.',
523
+ true,
524
+ 'categories/junk-removal.gif',
525
+ 'items/truck-minimum.gif'
526
+ )
527
+ ) as "seed" (
528
+ "item_name",
529
+ "item_price",
530
+ "description",
531
+ "taxable",
532
+ "category_image_key",
533
+ "default_image_key"
534
+ )
535
+ inner join "public"."category"
536
+ on "category"."company_id" = v_company_id
537
+ and "category"."default_image_key" = "seed"."category_image_key"
538
+ returning "id"
539
+ )
540
+ insert into "public"."item_cost" ("company_id", "item_id", "cost")
541
+ select v_company_id, "inserted_items"."id", 0
542
+ from "inserted_items";
543
+
544
+ insert into "public"."client" (
545
+ "id",
546
+ "email",
547
+ "first_name",
548
+ "last_name",
549
+ "client_company_name",
550
+ "client_notes",
551
+ "company_id",
552
+ "client_or_lead",
553
+ "primary_phone_number",
554
+ "source_id",
555
+ "stripe_customer_id"
556
+ )
557
+ values
558
+ (
559
+ v_client_1_id,
560
+ 'john.doe@example.com',
561
+ 'John',
562
+ 'Doe',
563
+ 'Example Inc.',
564
+ 'Amazing customer, tips very well.',
565
+ v_company_id,
566
+ 'client',
567
+ '',
568
+ null,
569
+ null
570
+ ),
571
+ (
572
+ v_client_2_id,
573
+ 'jane.doe@example.com',
574
+ 'Jane',
575
+ 'Doe',
576
+ 'Example Inc.',
577
+ 'Super friendly, tips great.',
578
+ v_company_id,
579
+ 'client',
580
+ '',
581
+ null,
582
+ null
583
+ ),
584
+ (
585
+ v_client_3_id,
586
+ 'sam.doe@example.com',
587
+ 'Sam',
588
+ 'Doe',
589
+ '',
590
+ 'We had a great connection about us both playing the guitar.',
591
+ v_company_id,
592
+ 'client',
593
+ '',
594
+ null,
595
+ null
596
+ );
597
+
598
+ insert into "public"."address" (
599
+ "id",
600
+ "client_id",
601
+ "address",
602
+ "city",
603
+ "state",
604
+ "zip_code",
605
+ "company_id",
606
+ "is_primary",
607
+ "latitude",
608
+ "longitude"
609
+ )
610
+ values
611
+ (
612
+ v_address_1_id,
613
+ v_client_1_id,
614
+ '215 West Janss Road',
615
+ 'Thousand Oaks',
616
+ 'CA',
617
+ '91360',
618
+ v_company_id,
619
+ true,
620
+ 34.2067796,
621
+ -118.8830898
622
+ ),
623
+ (
624
+ v_address_2_id,
625
+ v_client_2_id,
626
+ '490 Oak Tree Lane',
627
+ 'Thousand Oaks',
628
+ 'CA',
629
+ '91360',
630
+ v_company_id,
631
+ true,
632
+ 34.183939,
633
+ -118.8709229
634
+ ),
635
+ (
636
+ v_address_3_id,
637
+ v_client_3_id,
638
+ '5300 Lost Hills Road',
639
+ 'Calabasas',
640
+ 'CA',
641
+ '91302',
642
+ v_company_id,
643
+ true,
644
+ 34.1437013,
645
+ -118.7088545
646
+ );
647
+
648
+ if v_include_owner then
649
+ insert into "public"."client" (
650
+ "id",
651
+ "email",
652
+ "first_name",
653
+ "last_name",
654
+ "client_company_name",
655
+ "client_notes",
656
+ "company_id",
657
+ "client_or_lead",
658
+ "primary_phone_number",
659
+ "source_id",
660
+ "stripe_customer_id"
661
+ )
662
+ values (
663
+ v_owner_client_id,
664
+ v_owner_email,
665
+ v_owner_first_name,
666
+ v_owner_last_name,
667
+ v_company_name,
668
+ 'Autopilot #1 Fan.',
669
+ v_company_id,
670
+ 'client',
671
+ v_owner_phone,
672
+ null,
673
+ null
674
+ );
675
+
676
+ insert into "public"."address" (
677
+ "id",
678
+ "client_id",
679
+ "address",
680
+ "city",
681
+ "state",
682
+ "zip_code",
683
+ "company_id",
684
+ "is_primary",
685
+ "latitude",
686
+ "longitude"
687
+ )
688
+ values (
689
+ v_owner_address_id,
690
+ v_owner_client_id,
691
+ v_company_address,
692
+ v_company_city,
693
+ v_company_state,
694
+ v_company_zip_code,
695
+ v_company_id,
696
+ true,
697
+ -- Null coordinates mean the company address is not geocoded yet; copy
698
+ -- them through so the app treats this like any other un-geocoded address.
699
+ v_company_latitude,
700
+ v_company_longitude
701
+ );
702
+ end if;
703
+
704
+ insert into "public"."job" (
705
+ "id",
706
+ "company_id",
707
+ "client_id",
708
+ "notes",
709
+ "type",
710
+ "job_source",
711
+ "address_id",
712
+ "unpaid_upfront",
713
+ "job_recurring_id",
714
+ "job_number"
715
+ )
716
+ values
717
+ (
718
+ v_job_1_id,
719
+ v_company_id,
720
+ v_client_1_id,
721
+ 'Just a bunch of random stuff all around the house, estimated full load',
722
+ 'Junk Removal',
723
+ 'Online Booking',
724
+ v_address_1_id,
725
+ false,
726
+ null,
727
+ 0
728
+ ),
729
+ (
730
+ v_job_2_id,
731
+ v_company_id,
732
+ v_client_2_id,
733
+ 'just a bunch of trash bags upstairs',
734
+ 'Junk Removal',
735
+ 'Yard Signs',
736
+ v_address_2_id,
737
+ false,
738
+ null,
739
+ 0
740
+ ),
741
+ (
742
+ v_job_3_id,
743
+ v_company_id,
744
+ v_client_3_id,
745
+ 'he says its a hard to reach hot tub, for 6 people, and its already disconnected',
746
+ 'Demolition',
747
+ 'Google Ads',
748
+ v_address_3_id,
749
+ false,
750
+ null,
751
+ 0
752
+ );
753
+
754
+ insert into "public"."job_schedule" (
755
+ "id",
756
+ "company_id",
757
+ "job_id",
758
+ "start_time",
759
+ "end_time",
760
+ "status"
761
+ )
762
+ values
763
+ (
764
+ v_schedule_1_id,
765
+ v_company_id,
766
+ v_job_1_id,
767
+ make_timestamptz(
768
+ extract(year from v_local_date)::integer,
769
+ extract(month from v_local_date)::integer,
770
+ extract(day from v_local_date)::integer,
771
+ 8,
772
+ 0,
773
+ 0,
774
+ v_time_zone
775
+ ),
776
+ make_timestamptz(
777
+ extract(year from v_local_date)::integer,
778
+ extract(month from v_local_date)::integer,
779
+ extract(day from v_local_date)::integer,
780
+ 9,
781
+ 0,
782
+ 0,
783
+ v_time_zone
784
+ ),
785
+ 'Completed'
786
+ ),
787
+ (
788
+ v_schedule_2_id,
789
+ v_company_id,
790
+ v_job_2_id,
791
+ make_timestamptz(
792
+ extract(year from v_local_date)::integer,
793
+ extract(month from v_local_date)::integer,
794
+ extract(day from v_local_date)::integer,
795
+ 11,
796
+ 0,
797
+ 0,
798
+ v_time_zone
799
+ ),
800
+ make_timestamptz(
801
+ extract(year from v_local_date)::integer,
802
+ extract(month from v_local_date)::integer,
803
+ extract(day from v_local_date)::integer,
804
+ 12,
805
+ 0,
806
+ 0,
807
+ v_time_zone
808
+ ),
809
+ 'On My Way'
810
+ ),
811
+ (
812
+ v_schedule_3_id,
813
+ v_company_id,
814
+ v_job_3_id,
815
+ make_timestamptz(
816
+ extract(year from v_local_date)::integer,
817
+ extract(month from v_local_date)::integer,
818
+ extract(day from v_local_date)::integer,
819
+ 14,
820
+ 0,
821
+ 0,
822
+ v_time_zone
823
+ ),
824
+ make_timestamptz(
825
+ extract(year from v_local_date)::integer,
826
+ extract(month from v_local_date)::integer,
827
+ extract(day from v_local_date)::integer,
828
+ 16,
829
+ 0,
830
+ 0,
831
+ v_time_zone
832
+ ),
833
+ 'Open'
834
+ );
835
+
836
+ if v_owner_id is not null then
837
+ insert into "public"."job_user" (
838
+ "company_id",
839
+ "job_id",
840
+ "user_id",
841
+ "job_schedule_id"
842
+ )
843
+ values
844
+ (v_company_id, v_job_1_id, v_owner_id, v_schedule_1_id),
845
+ (v_company_id, v_job_2_id, v_owner_id, v_schedule_2_id),
846
+ (v_company_id, v_job_3_id, v_owner_id, v_schedule_3_id);
847
+ end if;
848
+
849
+ insert into "public"."invoice" (
850
+ "id",
851
+ "client_id",
852
+ "status",
853
+ "company_id",
854
+ "job_id",
855
+ "address_id",
856
+ "notes",
857
+ "due_date",
858
+ "invoice_number"
859
+ )
860
+ values
861
+ (
862
+ v_invoice_1_id,
863
+ v_client_1_id,
864
+ 'Unsent',
865
+ v_company_id,
866
+ v_job_1_id,
867
+ v_address_1_id,
868
+ 'We appreciate your patience waiting while our team changed their flat tire; I''m glad we were still able to get everything cleaned up in time for your event. Thank you for your business!',
869
+ make_timestamptz(
870
+ extract(year from v_local_date)::integer,
871
+ extract(month from v_local_date)::integer,
872
+ extract(day from v_local_date)::integer,
873
+ 0,
874
+ 0,
875
+ 0,
876
+ v_time_zone
877
+ ),
878
+ 0
879
+ ),
880
+ (
881
+ v_invoice_2_id,
882
+ v_client_2_id,
883
+ 'Unsent',
884
+ v_company_id,
885
+ v_job_2_id,
886
+ v_address_2_id,
887
+ 'Thank you for your business!',
888
+ make_timestamptz(
889
+ extract(year from v_local_date)::integer,
890
+ extract(month from v_local_date)::integer,
891
+ extract(day from v_local_date)::integer,
892
+ 0,
893
+ 0,
894
+ 0,
895
+ v_time_zone
896
+ ),
897
+ 0
898
+ ),
899
+ (
900
+ v_invoice_3_id,
901
+ v_client_3_id,
902
+ 'Unsent',
903
+ v_company_id,
904
+ v_job_3_id,
905
+ v_address_3_id,
906
+ 'Removal of 6-person hot tub from difficult access area. Unit was pre-disconnected. Thank you for your business!',
907
+ make_timestamptz(
908
+ extract(year from (v_local_date + 1))::integer,
909
+ extract(month from (v_local_date + 1))::integer,
910
+ extract(day from (v_local_date + 1))::integer,
911
+ 0,
912
+ 0,
913
+ 0,
914
+ v_time_zone
915
+ ),
916
+ 0
917
+ );
918
+
919
+ insert into "public"."job_item" (
920
+ "company_id",
921
+ "job_id",
922
+ "invoice_id",
923
+ "item_name",
924
+ "item_price",
925
+ "item_cost",
926
+ "taxable",
927
+ "quantity",
928
+ "description",
929
+ "payment_upfront"
930
+ )
931
+ values
932
+ (
933
+ v_company_id,
934
+ v_job_1_id,
935
+ v_invoice_1_id,
936
+ 'Truck - Full Load',
937
+ 795,
938
+ 0,
939
+ true,
940
+ 1,
941
+ 'The entire truck, 15 cubic yards, filled completely from floor to ceiling.',
942
+ null
943
+ ),
944
+ (
945
+ v_company_id,
946
+ v_job_1_id,
947
+ v_invoice_1_id,
948
+ 'Overages - Bagging & Packing',
949
+ 50,
950
+ 0,
951
+ false,
952
+ 1,
953
+ 'Overages for bagging and packing',
954
+ null
955
+ ),
956
+ (
957
+ v_company_id,
958
+ v_job_2_id,
959
+ v_invoice_2_id,
960
+ 'Truck - 1/8 Truck Load',
961
+ 195,
962
+ 0,
963
+ true,
964
+ 1,
965
+ 'Approximately 1.9 cubic yards, perfect for a few small items or a very light pickup.',
966
+ null
967
+ ),
968
+ (
969
+ v_company_id,
970
+ v_job_2_id,
971
+ v_invoice_2_id,
972
+ 'Fees - Stairs',
973
+ 25,
974
+ 0,
975
+ false,
976
+ 1,
977
+ 'Charged when items must be carried up or down stairs; volume is unchanged. ($20 per flight)',
978
+ null
979
+ ),
980
+ (
981
+ v_company_id,
982
+ v_job_3_id,
983
+ v_invoice_3_id,
984
+ 'Demo - Hot Tub Removal',
985
+ 450,
986
+ 0,
987
+ true,
988
+ 1,
989
+ 'Hot tub removed safely and professionally; when one-piece removal is not possible, the unit is cut into up to four sections to ensure safe transport and proper disposal. All labor, cutting, loading, and cleanup are included.',
990
+ null
991
+ );
992
+
993
+ insert into "public"."payment" (
994
+ "company_id",
995
+ "job_id",
996
+ "invoice_id",
997
+ "amount_base",
998
+ "amount_tip",
999
+ "payment_type",
1000
+ "payment_date",
1001
+ "status"
1002
+ )
1003
+ values
1004
+ (
1005
+ v_company_id,
1006
+ v_job_1_id,
1007
+ v_invoice_1_id,
1008
+ 845,
1009
+ 0,
1010
+ 'cash',
1011
+ make_timestamptz(
1012
+ extract(year from v_local_date)::integer,
1013
+ extract(month from v_local_date)::integer,
1014
+ extract(day from v_local_date)::integer,
1015
+ 0,
1016
+ 0,
1017
+ 0,
1018
+ v_time_zone
1019
+ ),
1020
+ null
1021
+ ),
1022
+ (
1023
+ v_company_id,
1024
+ v_job_2_id,
1025
+ v_invoice_2_id,
1026
+ 220,
1027
+ 0,
1028
+ 'offline_credit_card',
1029
+ make_timestamptz(
1030
+ extract(year from v_local_date)::integer,
1031
+ extract(month from v_local_date)::integer,
1032
+ extract(day from v_local_date)::integer,
1033
+ 0,
1034
+ 0,
1035
+ 0,
1036
+ v_time_zone
1037
+ ),
1038
+ null
1039
+ );
1040
+
1041
+ v_result := jsonb_build_object(
1042
+ 'already_preloaded', false,
1043
+ 'preload_key', v_preload_key,
1044
+ 'default_images', 29,
1045
+ 'counts', jsonb_build_object(
1046
+ 'job_sources', 17,
1047
+ 'job_types', 7,
1048
+ 'categories', 5,
1049
+ 'items', 24,
1050
+ 'item_costs', 24,
1051
+ 'clients', case when v_include_owner then 4 else 3 end,
1052
+ 'addresses', case when v_include_owner then 4 else 3 end,
1053
+ 'jobs', 3,
1054
+ 'job_schedules', 3,
1055
+ 'job_users', case when v_owner_id is not null then 3 else 0 end,
1056
+ 'invoices', 3,
1057
+ 'job_items', 5,
1058
+ 'payments', 2
1059
+ )
1060
+ );
1061
+
1062
+ update "public"."onboarding_preload_run"
1063
+ set
1064
+ "completed_at" = clock_timestamp(),
1065
+ "result" = v_result
1066
+ where "onboarding_preload_run"."company_id" = v_company_id
1067
+ and "onboarding_preload_run"."preload_key" = v_preload_key;
1068
+
1069
+ return v_result;
1070
+ end;
1071
+ $function$;
1072
+
1073
+ comment on function "public"."preload_onboarding_data"() is
1074
+ 'Atomically preloads versioned junk-removal sample data for the authenticated owner/admin company. Accepts no tenant-controlled arguments and rejects unsupported industries.';