From f89d7865fac369bc95ce7cdafe2951e38ffd7268 Mon Sep 17 00:00:00 2001 From: Dave Date: Fri, 27 Mar 2026 14:46:00 -0400 Subject: [PATCH] Restore hasura metadata tables from master-AIO --- hasura/metadata/tables.yaml | 836 ++++++++++++++++++++++++++++++++---- 1 file changed, 762 insertions(+), 74 deletions(-) diff --git a/hasura/metadata/tables.yaml b/hasura/metadata/tables.yaml index 7a9de6b10..5d3d3eb85 100644 --- a/hasura/metadata/tables.yaml +++ b/hasura/metadata/tables.yaml @@ -69,7 +69,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: jobline: job: @@ -180,7 +179,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: bodyshop: associations: @@ -200,6 +198,14 @@ - name: user using: foreign_key_constraint_on: useremail + array_relationships: + - name: notifications + using: + foreign_key_constraint_on: + column: associationid + table: + name: notifications + schema: public select_permissions: - role: user permission: @@ -209,6 +215,9 @@ - default_prod_list_view - id - kanban_settings + - new_message_sound + - notification_settings + - notifications_autoadd - qbo_realmId - shopid - useremail @@ -224,6 +233,9 @@ - authlevel - default_prod_list_view - kanban_settings + - new_message_sound + - notification_settings + - notifications_autoadd - qbo_realmId filter: user: @@ -387,7 +399,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: bodyshop: associations: @@ -504,7 +515,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: bill: job: @@ -671,7 +681,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: _and: - job: @@ -686,6 +695,25 @@ - exported: _eq: false event_triggers: + - name: notifications_bills + definition: + enable_manual: false + insert: + columns: '*' + retry_conf: + interval_sec: 10 + num_retries: 0 + timeout_sec: 60 + webhook_from_env: HASURA_API_URL + headers: + - name: event-secret + value_from_env: EVENT_SECRET + request_transform: + method: POST + query_params: {} + template_engine: Kriti + url: '{{$base_url}}/notifications/events/handleBillsChange' + version: 2 - name: os_bills definition: delete: @@ -916,10 +944,14 @@ - autohouseid - bill_allow_post_to_closed - bill_tax_rates + - carfax_exclude - cdk_configuration - cdk_dealerid + - chatter_company_id + - chatterid - city - claimscorpid + - convenient_company - country - created_at - default_adjustment_rate @@ -931,6 +963,7 @@ - enforce_referral - entegral_configuration - entegral_id + - external_shop_id - features - federal_tax_id - id @@ -938,6 +971,8 @@ - inhousevendorid - insurance_vendor_id - intakechecklist + - intellipay_config + - intellipay_merchant_id - jc_hourly_rates - jobsizelimit - last_name_first @@ -974,12 +1009,16 @@ - md_tasks_presets - md_to_emails - messagingservicesid + - notification_followers - pbs_configuration - pbs_serialnumber - phone + - podiumid - prodtargethrs - production_config - region_config + - rr_configuration + - rr_dealerid - schedule_end_time - schedule_start_time - scoreboard_target @@ -996,6 +1035,7 @@ - template_header - textid - timezone + - tours_enabled - tt_allow_post_to_invoiced - tt_enforce_hours_for_tech_console - updated_at @@ -1024,6 +1064,7 @@ - bill_allow_post_to_closed - bill_tax_rates - cdk_configuration + - chatter_company_id - city - country - created_at @@ -1034,11 +1075,13 @@ - enforce_conversion_category - enforce_conversion_csr - enforce_referral + - external_shop_id - federal_tax_id - id - inhousevendorid - insurance_vendor_id - intakechecklist + - intellipay_config - jc_hourly_rates - last_name_first - localmediaserverhttp @@ -1073,10 +1116,12 @@ - md_ro_statuses - md_tasks_presets - md_to_emails + - notification_followers - pbs_configuration - phone - prodtargethrs - production_config + - rr_configuration - schedule_end_time - schedule_start_time - scoreboard_target @@ -1107,6 +1152,50 @@ - active: _eq: true check: null + event_triggers: + - name: cache_bodyshop + definition: + enable_manual: false + update: + columns: + - imexshopid + - timezone + - shopname + - notification_followers + - state + - md_order_statuses + retry_conf: + interval_sec: 10 + num_retries: 0 + timeout_sec: 60 + webhook_from_env: HASURA_API_URL + headers: + - name: event-secret + value_from_env: EVENT_SECRET + request_transform: + body: + action: transform + template: |- + { + "created_at": {{$body.created_at}}, + "delivery_info": {{$body.delivery_info}}, + "event": { + "data": { + "new": { + "id": {{$body.event.data.new.id}}, + "shopname": {{$body.event.data.new.shopname}}, + "md_order_statuses": {{$body.event.data.new.md_order_statuses}} + } + }, + "op": {{$body.event.op}}, + "session_variables": {{$body.event.session_variables}} + } + } + method: POST + query_params: {} + template_engine: Kriti + url: '{{$base_url}}/bodyshop-cache' + version: 2 - table: name: cccontracts schema: public @@ -1281,7 +1370,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: courtesycar: bodyshop: @@ -1522,7 +1610,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: bodyshop: associations: @@ -1782,7 +1869,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: bodyshop: associations: @@ -1916,7 +2002,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: _or: - job: @@ -1936,6 +2021,29 @@ _eq: X-Hasura-User-Id - active: _eq: true + event_triggers: + - name: notifications_documents + definition: + enable_manual: false + insert: + columns: '*' + update: + columns: + - jobid + retry_conf: + interval_sec: 10 + num_retries: 0 + timeout_sec: 60 + webhook_from_env: HASURA_API_URL + headers: + - name: event-secret + value_from_env: EVENT_SECRET + request_transform: + method: POST + query_params: {} + template_engine: Kriti + url: '{{$base_url}}/notifications/events/handleDocumentsChange' + version: 2 - table: name: email_audit_trail schema: public @@ -2101,7 +2209,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: employee_team: bodyshop: @@ -2264,7 +2371,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: employee: bodyshop: @@ -2335,6 +2441,13 @@ table: name: jobs schema: public + - name: tasks + using: + foreign_key_constraint_on: + column: assigned_to + table: + name: tasks + schema: public - name: timetickets using: foreign_key_constraint_on: @@ -2438,7 +2551,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: bodyshop: associations: @@ -2583,6 +2695,9 @@ - active: _eq: true allow_aggregations: true +- table: + name: integration_log + schema: public - table: name: inventory schema: public @@ -2685,7 +2800,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: bodyshop: associations: @@ -2797,7 +2911,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: conversation: bodyshop: @@ -2808,6 +2921,76 @@ _eq: X-Hasura-User-Id - active: _eq: true +- table: + name: job_watchers + schema: public + object_relationships: + - name: job + using: + foreign_key_constraint_on: jobid + - name: user + using: + foreign_key_constraint_on: user_email + insert_permissions: + - role: user + permission: + check: + job: + bodyshop: + associations: + user: + authid: + _eq: X-Hasura-User-Id + columns: + - user_email + - created_at + - id + - jobid + comment: "" + select_permissions: + - role: user + permission: + columns: + - user_email + - created_at + - id + - jobid + filter: + job: + bodyshop: + associations: + user: + authid: + _eq: X-Hasura-User-Id + comment: "" + update_permissions: + - role: user + permission: + columns: + - user_email + - created_at + - id + - jobid + filter: + job: + bodyshop: + associations: + user: + authid: + _eq: X-Hasura-User-Id + check: null + comment: "" + delete_permissions: + - role: user + permission: + filter: + job: + bodyshop: + associations: + user: + authid: + _eq: X-Hasura-User-Id + comment: "" - table: name: joblines schema: public @@ -2899,6 +3082,7 @@ - est_seq - glass_flag - id + - include_in_part_cnt - ioucreated - jobid - lbr_amt @@ -2968,6 +3152,7 @@ - est_seq - glass_flag - id + - include_in_part_cnt - ioucreated - jobid - lbr_amt @@ -3048,6 +3233,7 @@ - est_seq - glass_flag - id + - include_in_part_cnt - ioucreated - jobid - lbr_amt @@ -3112,7 +3298,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: job: bodyshop: @@ -3123,6 +3308,31 @@ _eq: X-Hasura-User-Id - active: _eq: true + event_triggers: + - name: notifications_joblines + definition: + enable_manual: false + update: + columns: + - critical + - status + retry_conf: + interval_sec: 10 + num_retries: 0 + timeout_sec: 60 + webhook_from_env: HASURA_API_URL + headers: + - name: event-secret + value_from_env: EVENT_SECRET + request_transform: + body: + action: transform + template: "{\r\n \"event\": {\r\n \"session_variables\": {\r\n \"x-hasura-user-id\": {{$body?.event?.session_variables?.x-hasura-user-id ?? \"Internal\"}},\r\n \"x-hasura-role\": {{$body?.event?.session_variables?.x-hasura-role ?? \"Internal\"}}\r\n }, \r\n \"op\": \"UPDATE\",\r\n \"data\": {\r\n \"old\": {\r\n \"id\": {{$body.event.data.old.id}},\r\n \"jobid\": {{$body.event.data.old.jobid}},\r\n \"critical\": {{$body.event.data.old.critical}},\r\n \"status\": {{$body.event.data.old.status}},\r\n \"line_desc\": {{$body.event.data.old.line_desc}}\r\n },\r\n \"new\": {\r\n \"id\": {{$body.event.data.new.id}},\r\n \"jobid\": {{$body.event.data.new.jobid}},\r\n \"critical\": {{$body.event.data.new.critical}},\r\n \"status\": {{$body.event.data.new.status}},\r\n \"line_desc\": {{$body.event.data.new.line_desc}}\r\n }\r\n }\r\n },\r\n \"trigger\": {\r\n \"name\": \"notifications_joblines\"\r\n },\r\n \"table\": {\r\n \"schema\": \"public\",\r\n \"name\": \"joblines\"\r\n }\r\n}\r\n" + method: POST + query_params: {} + template_engine: Kriti + url: '{{$base_url}}/notifications/events/handleJobLinesChange' + version: 2 - table: name: joblines_status schema: public @@ -3269,6 +3479,13 @@ table: name: job_conversations schema: public + - name: job_watchers + using: + foreign_key_constraint_on: + column: jobid + table: + name: job_watchers + schema: public - name: joblines using: foreign_key_constraint_on: @@ -3299,6 +3516,13 @@ table: name: notes schema: public + - name: notifications + using: + foreign_key_constraint_on: + column: jobid + table: + name: notifications + schema: public - name: parts_dispatches using: foreign_key_constraint_on: @@ -3392,10 +3616,12 @@ - actual_completion - actual_delivery - actual_in + - acv_amount - adj_g_disc - adj_strdis - adj_towdis - adjustment_bottom_line + - admin_clerk - agt_addr1 - agt_addr2 - agt_city @@ -3460,6 +3686,7 @@ - completed_tasks - converted - created_at + - created_user_email - cust_pr - date_estimated - date_exported @@ -3477,7 +3704,10 @@ - ded_status - deliverchecklist - depreciation_taxes + - dms_advisor_id - dms_allocation + - dms_customer_id + - dms_id - driveable - employee_body - employee_csr @@ -3494,8 +3724,12 @@ - est_ph1 - est_st - est_zip + - estimate_approved + - estimate_sent_approval - federal_tax_rate + - flat_rate_ats - g_bett_amt + - hit_and_run - id - inproduction - ins_addr1 @@ -3569,8 +3803,10 @@ - ownr_fn - ownr_ln - ownr_ph1 + - ownr_ph1_ty - ownr_ph1x - ownr_ph2 + - ownr_ph2_ty - ownr_ph2x - ownr_st - ownr_title @@ -3589,6 +3825,7 @@ - qb_multiple_payers - queued_for_parts - rate_ats + - rate_ats_flat - rate_la1 - rate_la2 - rate_la3 @@ -3661,10 +3898,12 @@ - actual_completion - actual_delivery - actual_in + - acv_amount - adj_g_disc - adj_strdis - adj_towdis - adjustment_bottom_line + - admin_clerk - agt_addr1 - agt_addr2 - agt_city @@ -3729,6 +3968,7 @@ - completed_tasks - converted - created_at + - created_user_email - cust_pr - date_estimated - date_exported @@ -3747,7 +3987,10 @@ - ded_status - deliverchecklist - depreciation_taxes + - dms_advisor_id - dms_allocation + - dms_customer_id + - dms_id - driveable - employee_body - employee_csr @@ -3764,8 +4007,12 @@ - est_ph1 - est_st - est_zip + - estimate_approved + - estimate_sent_approval - federal_tax_rate + - flat_rate_ats - g_bett_amt + - hit_and_run - id - inproduction - ins_addr1 @@ -3840,8 +4087,10 @@ - ownr_fn - ownr_ln - ownr_ph1 + - ownr_ph1_ty - ownr_ph1x - ownr_ph2 + - ownr_ph2_ty - ownr_ph2x - ownr_st - ownr_title @@ -3860,6 +4109,7 @@ - qb_multiple_payers - queued_for_parts - rate_ats + - rate_ats_flat - rate_la1 - rate_la2 - rate_la3 @@ -3943,10 +4193,12 @@ - actual_completion - actual_delivery - actual_in + - acv_amount - adj_g_disc - adj_strdis - adj_towdis - adjustment_bottom_line + - admin_clerk - agt_addr1 - agt_addr2 - agt_city @@ -4011,6 +4263,7 @@ - completed_tasks - converted - created_at + - created_user_email - cust_pr - date_estimated - date_exported @@ -4029,7 +4282,10 @@ - ded_status - deliverchecklist - depreciation_taxes + - dms_advisor_id - dms_allocation + - dms_customer_id + - dms_id - driveable - employee_body - employee_csr @@ -4046,8 +4302,12 @@ - est_ph1 - est_st - est_zip + - estimate_approved + - estimate_sent_approval - federal_tax_rate + - flat_rate_ats - g_bett_amt + - hit_and_run - id - inproduction - ins_addr1 @@ -4122,8 +4382,10 @@ - ownr_fn - ownr_ln - ownr_ph1 + - ownr_ph1_ty - ownr_ph1x - ownr_ph2 + - ownr_ph2_ty - ownr_ph2x - ownr_st - ownr_title @@ -4142,6 +4404,7 @@ - qb_multiple_payers - queued_for_parts - rate_ats + - rate_ats_flat - rate_la1 - rate_la2 - rate_la3 @@ -4221,7 +4484,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: bodyshop: associations: @@ -4232,6 +4494,69 @@ - active: _eq: true event_triggers: + - name: job_modified + definition: + enable_manual: false + update: + columns: + - employee_prep + - clm_total + - suspended + - employee_body + - ro_number + - ownr_co_nm + - v_vin + - scheduled_completion + - special_coverage_policy + - scheduled_delivery + - actual_delivery + - actual_completion + - kanbanparent + - est_ct_fn + - alt_transport + - v_model_desc + - clm_no + - v_make_desc + - date_next_contact + - status + - employee_csr + - actual_in + - v_model_yr + - comment + - job_totals + - ownr_fn + - v_color + - ca_gst_registrant + - employee_refinish + - ownr_ph1 + - date_last_contacted + - inproduction + - est_ct_ln + - production_vars + - category + - date_invoiced + - est_co_nm + - ownr_ln + retry_conf: + interval_sec: 10 + num_retries: 0 + timeout_sec: 60 + webhook_from_env: HASURA_API_URL + headers: + - name: event-secret + value_from_env: EVENT_SECRET + request_transform: + body: + action: transform + template: |- + { + "data": {{$body?.event?.data?.new}} + } + method: POST + query_params: {} + template_engine: Kriti + url: '{{$base_url}}/job/job-updated' + version: 2 - name: job_status_transition definition: enable_manual: true @@ -4268,6 +4593,77 @@ template_engine: Kriti url: '{{$base_url}}/record-handler/arms' version: 2 + - name: notifications_jobs + definition: + enable_manual: false + insert: + columns: '*' + update: + columns: + - queued_for_parts + - employee_prep + - clm_total + - towin + - employee_body + - converted + - scheduled_in + - scheduled_completion + - scheduled_delivery + - actual_delivery + - actual_completion + - alt_transport + - date_exported + - status + - employee_csr + - actual_in + - deliverchecklist + - comment + - job_totals + - employee_refinish + - inproduction + - production_vars + - intakechecklist + - cieca_ttl + - date_invoiced + retry_conf: + interval_sec: 10 + num_retries: 0 + timeout_sec: 60 + webhook_from_env: HASURA_API_URL + headers: + - name: event-secret + value_from_env: EVENT_SECRET + request_transform: + body: + action: transform + template: "{\r\n \"event\": {\r\n \"session_variables\": {\r\n \"x-hasura-user-id\": {{$body?.event?.session_variables?.x-hasura-user-id ?? \"Internal\"}},\r\n \"x-hasura-role\": {{$body?.event?.session_variables?.x-hasura-role ?? \"Internal\"}}\r\n }, \r\n \"op\": {{$body.event.op}},\r\n \"data\": {\r\n \"old\": {\r\n \"id\": {{$body.event.data.old.id}},\r\n \"ro_number\": {{$body.event.data.old.ro_number}},\r\n \"queued_for_parts\": {{$body.event.data.old.queued_for_parts}},\r\n \"employee_prep\": {{$body.event.data.old.employee_prep}},\r\n \"clm_total\": {{$body.event.data.old.clm_total}},\r\n \"towin\": {{$body.event.data.old.towin}},\r\n \"employee_body\": {{$body.event.data.old.employee_body}},\r\n \"converted\": {{$body.event.data.old.converted}},\r\n \"scheduled_in\": {{$body.event.data.old.scheduled_in}},\r\n \"scheduled_completion\": {{$body.event.data.old.scheduled_completion}},\r\n \"scheduled_delivery\": {{$body.event.data.old.scheduled_delivery}},\r\n \"actual_delivery\": {{$body.event.data.old.actual_delivery}},\r\n \"actual_completion\": {{$body.event.data.old.actual_completion}},\r\n \"alt_transport\": {{$body.event.data.old.alt_transport}},\r\n \"date_exported\": {{$body.event.data.old.date_exported}},\r\n \"status\": {{$body.event.data.old.status}},\r\n \"employee_csr\": {{$body.event.data.old.employee_csr}},\r\n \"actual_in\": {{$body.event.data.old.actual_in}},\r\n \"deliverchecklist\": {{$body.event.data.old.deliverchecklist}},\r\n \"comment\": {{$body.event.data.old.comment}},\r\n \"employee_refinish\": {{$body.event.data.old.employee_refinish}},\r\n \"inproduction\": {{$body.event.data.old.inproduction}},\r\n \"production_vars\": {{$body.event.data.old.production_vars}},\r\n \"intakechecklist\": {{$body.event.data.old.intakechecklist}},\r\n \"cieca_ttl\": {{$body.event.data.old.cieca_ttl}},\r\n \"date_invoiced\": {{$body.event.data.old.date_invoiced}}\r\n },\r\n \"new\": {\r\n \"id\": {{$body.event.data.new.id}},\r\n \"ro_number\": {{$body.event.data.old.ro_number}},\r\n \"queued_for_parts\": {{$body.event.data.new.queued_for_parts}},\r\n \"employee_prep\": {{$body.event.data.new.employee_prep}},\r\n \"clm_total\": {{$body.event.data.new.clm_total}},\r\n \"towin\": {{$body.event.data.new.towin}},\r\n \"employee_body\": {{$body.event.data.new.employee_body}},\r\n \"converted\": {{$body.event.data.new.converted}},\r\n \"scheduled_in\": {{$body.event.data.new.scheduled_in}},\r\n \"scheduled_completion\": {{$body.event.data.new.scheduled_completion}},\r\n \"scheduled_delivery\": {{$body.event.data.new.scheduled_delivery}},\r\n \"actual_delivery\": {{$body.event.data.new.actual_delivery}},\r\n \"actual_completion\": {{$body.event.data.new.actual_completion}},\r\n \"alt_transport\": {{$body.event.data.new.alt_transport}},\r\n \"date_exported\": {{$body.event.data.new.date_exported}},\r\n \"status\": {{$body.event.data.new.status}},\r\n \"employee_csr\": {{$body.event.data.new.employee_csr}},\r\n \"actual_in\": {{$body.event.data.new.actual_in}},\r\n \"deliverchecklist\": {{$body.event.data.new.deliverchecklist}},\r\n \"comment\": {{$body.event.data.new.comment}},\r\n \"employee_refinish\": {{$body.event.data.new.employee_refinish}},\r\n \"inproduction\": {{$body.event.data.new.inproduction}},\r\n \"production_vars\": {{$body.event.data.new.production_vars}},\r\n \"intakechecklist\": {{$body.event.data.new.intakechecklist}},\r\n \"cieca_ttl\": {{$body.event.data.new.cieca_ttl}},\r\n \"date_invoiced\": {{$body.event.data.new.date_invoiced}}\r\n }\r\n }\r\n },\r\n \"trigger\": {\r\n \"name\": \"notifications_jobs\"\r\n },\r\n \"table\": {\r\n \"schema\": \"public\",\r\n \"name\": \"jobs\"\r\n }\r\n}\r\n" + method: POST + query_params: {} + template_engine: Kriti + url: '{{$base_url}}/notifications/events/handleJobsChange' + version: 2 + - name: notifications_jobs_autoadd + definition: + enable_manual: false + insert: + columns: '*' + retry_conf: + interval_sec: 10 + num_retries: 0 + timeout_sec: 60 + webhook_from_env: HASURA_API_URL + headers: + - name: event-secret + value_from_env: EVENT_SECRET + request_transform: + body: + action: transform + template: "{\r\n \"event\": {\r\n \"session_variables\": {\r\n \"x-hasura-user-id\": {{$body?.event?.session_variables?.x-hasura-user-id ?? \"Internal\"}},\r\n \"x-hasura-role\": {{$body?.event?.session_variables?.x-hasura-role ?? \"Internal\"}}\r\n }, \r\n \"op\": {{$body.event.op}},\r\n \"data\": {\r\n \"new\": {\r\n \"id\": {{$body.event.data.new.id}},\r\n \"shopid\": {{$body.event.data.new?.shopid}},\r\n \"ro_number\": {{$body.event.data.new?.ro_number}},\r\n \"created_user_email\": {{$body.event.data.new?.created_user_email}}\r\n }\r\n }\r\n },\r\n \"trigger\": {\r\n \"name\": \"notifications_jobs_autoadd\"\r\n },\r\n \"table\": {\r\n \"schema\": \"public\",\r\n \"name\": \"jobs\"\r\n }\r\n}\r\n" + method: POST + query_params: {} + template_engine: Kriti + url: '{{$base_url}}/notifications/events/handleAutoAdd' + version: 2 - name: os_jobs definition: delete: @@ -4291,6 +4687,35 @@ template_engine: Kriti url: '{{$base_url}}/opensearch' version: 2 +- table: + name: jobs_inproduction + schema: public + object_relationships: + - name: bodyshop + using: + manual_configuration: + column_mapping: + shopid: id + insertion_order: null + remote_table: + name: bodyshops + schema: public + select_permissions: + - role: user + permission: + columns: + - id + - shopid + - updated_at + filter: + bodyshop: + associations: + _and: + - user: + authid: + _eq: X-Hasura-User-Id + - active: + _eq: true - table: name: masterdata schema: public @@ -4307,6 +4732,34 @@ - key - value filter: {} +- table: + name: media_analytics + schema: public + object_relationships: + - name: bodyshop + using: + foreign_key_constraint_on: bodyshopid + array_relationships: + - name: media_analytics_details + using: + foreign_key_constraint_on: + column: media_analytics_id + table: + name: media_analytics_detail + schema: public +- table: + name: media_analytics_detail + schema: public + object_relationships: + - name: bodyshop + using: + foreign_key_constraint_on: bodyshopid + - name: job + using: + foreign_key_constraint_on: jobid + - name: media_analytic + using: + foreign_key_constraint_on: media_analytics_id - table: name: messages schema: public @@ -4352,6 +4805,7 @@ - id - image - image_path + - is_system - isoutbound - msid - read @@ -4399,7 +4853,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: conversation: bodyshop: @@ -4517,6 +4970,7 @@ - critical - id - jobid + - pinned - private - text - type @@ -4531,6 +4985,7 @@ - critical - id - jobid + - pinned - private - text - type @@ -4555,6 +5010,7 @@ - critical - id - jobid + - pinned - private - text - type @@ -4573,7 +5029,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: job: bodyshop: @@ -4584,6 +5039,110 @@ _eq: X-Hasura-User-Id - active: _eq: true + event_triggers: + - name: notifications_notes + definition: + enable_manual: false + insert: + columns: '*' + retry_conf: + interval_sec: 10 + num_retries: 0 + timeout_sec: 60 + webhook_from_env: HASURA_API_URL + headers: + - name: event-secret + value_from_env: EVENT_SECRET + request_transform: + method: POST + query_params: {} + template_engine: Kriti + url: '{{$base_url}}/notifications/events/handleNotesChange' + version: 2 +- table: + name: notifications + schema: public + object_relationships: + - name: association + using: + foreign_key_constraint_on: associationid + - name: job + using: + foreign_key_constraint_on: jobid + insert_permissions: + - role: user + permission: + check: + job: + bodyshop: + associations: + _and: + - user: + authid: + _eq: X-Hasura-User-Id + - active: + _eq: true + columns: + - scenario_meta + - scenario_text + - fcm_text + - created_at + - read + - updated_at + - associationid + - id + - jobid + comment: "" + select_permissions: + - role: user + permission: + columns: + - scenario_meta + - scenario_text + - fcm_text + - created_at + - read + - updated_at + - associationid + - id + - jobid + filter: + job: + bodyshop: + associations: + _and: + - user: + authid: + _eq: X-Hasura-User-Id + - active: + _eq: true + allow_aggregations: true + comment: "" + update_permissions: + - role: user + permission: + columns: + - scenario_meta + - scenario_text + - fcm_text + - created_at + - read + - updated_at + - associationid + - id + - jobid + filter: {} + check: + job: + bodyshop: + associations: + _and: + - user: + authid: + _eq: X-Hasura-User-Id + - active: + _eq: true + comment: "" - table: name: owners schema: public @@ -4626,7 +5185,9 @@ - ownr_fn - ownr_ln - ownr_ph1 + - ownr_ph1_ty - ownr_ph2 + - ownr_ph2_ty - ownr_st - ownr_title - ownr_zip @@ -4651,7 +5212,9 @@ - ownr_fn - ownr_ln - ownr_ph1 + - ownr_ph1_ty - ownr_ph2 + - ownr_ph2_ty - ownr_st - ownr_title - ownr_zip @@ -4687,7 +5250,9 @@ - ownr_fn - ownr_ln - ownr_ph1 + - ownr_ph1_ty - ownr_ph2 + - ownr_ph2_ty - ownr_st - ownr_title - ownr_zip @@ -4708,7 +5273,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: bodyshop: associations: @@ -5013,7 +5577,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: parts_order: job: @@ -5146,7 +5709,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: job: bodyshop: @@ -5322,7 +5884,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: job: bodyshop: @@ -5334,6 +5895,25 @@ - active: _eq: true event_triggers: + - name: notifications_payments + definition: + enable_manual: false + insert: + columns: '*' + retry_conf: + interval_sec: 10 + num_retries: 0 + timeout_sec: 60 + webhook_from_env: HASURA_API_URL + headers: + - name: event-secret + value_from_env: EVENT_SECRET + request_transform: + method: POST + query_params: {} + template_engine: Kriti + url: '{{$base_url}}/notifications/events/handlePaymentsChange' + version: 2 - name: os_payments definition: delete: @@ -5357,6 +5937,32 @@ template_engine: Kriti url: '{{$base_url}}/opensearch' version: 2 +- table: + name: phone_number_opt_out + schema: public + object_relationships: + - name: bodyshop + using: + foreign_key_constraint_on: bodyshopid + select_permissions: + - role: user + permission: + columns: + - phone_number + - created_at + - updated_at + - bodyshopid + - id + filter: + bodyshop: + associations: + _and: + - user: + authid: + _eq: X-Hasura-User-Id + - active: + _eq: true + comment: "" - table: name: phonebook schema: public @@ -5462,7 +6068,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: bodyshop: associations: @@ -5573,7 +6178,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: _or: - parentjob_rel: @@ -5663,7 +6267,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: job: bodyshop: @@ -5678,6 +6281,9 @@ name: tasks schema: public object_relationships: + - name: assigned_to_employee + using: + foreign_key_constraint_on: assigned_to - name: bill using: foreign_key_constraint_on: billid @@ -5693,9 +6299,6 @@ - name: parts_order using: foreign_key_constraint_on: partsorderid - - name: user - using: - foreign_key_constraint_on: assigned_to - name: userByCreatedBy using: foreign_key_constraint_on: created_by @@ -5712,48 +6315,50 @@ - active: _eq: true columns: - - completed - - deleted - - priority - assigned_to - - created_by - - description - - title - - completed_at - - created_at - - deleted_at - - due_date - - remind_at - - updated_at - billid - bodyshopid + - completed + - completed_at + - created_at + - created_by + - deleted + - deleted_at + - description + - due_date - id - jobid - joblineid - partsorderid + - priority + - remind_at + - remind_at_sent + - title + - updated_at select_permissions: - role: user permission: columns: - - completed - - deleted - - priority - assigned_to - - created_by - - description - - title - - completed_at - - created_at - - deleted_at - - due_date - - remind_at - - updated_at - billid - bodyshopid + - completed + - completed_at + - created_at + - created_by + - deleted + - deleted_at + - description + - due_date - id - jobid - joblineid - partsorderid + - priority + - remind_at + - remind_at_sent + - title + - updated_at filter: bodyshop: associations: @@ -5768,25 +6373,26 @@ - role: user permission: columns: - - completed - - deleted - - priority - assigned_to - - created_by - - description - - title - - completed_at - - created_at - - deleted_at - - due_date - - remind_at - - updated_at - billid - bodyshopid + - completed + - completed_at + - created_at + - created_by + - deleted + - deleted_at + - description + - due_date - id - jobid - joblineid - partsorderid + - priority + - remind_at + - remind_at_sent + - title + - updated_at filter: bodyshop: associations: @@ -5797,6 +6403,61 @@ - active: _eq: true check: null + event_triggers: + - name: notifications_tasks + definition: + enable_manual: false + insert: + columns: '*' + update: + columns: + - joblineid + - assigned_to + - due_date + - deleted + - partsorderid + - completed + - description + - billid + - title + - jobid + - priority + retry_conf: + interval_sec: 10 + num_retries: 0 + timeout_sec: 60 + webhook_from_env: HASURA_API_URL + headers: + - name: event-secret + value_from_env: EVENT_SECRET + request_transform: + method: POST + query_params: {} + template_engine: Kriti + url: '{{$base_url}}/notifications/events/handleTasksChange' + version: 2 + - name: tasks_assigned_changed + definition: + enable_manual: false + insert: + columns: '*' + update: + columns: + - assigned_to + retry_conf: + interval_sec: 10 + num_retries: 3 + timeout_sec: 60 + webhook_from_env: HASURA_API_URL + headers: + - name: event-secret + value_from_env: EVENT_SECRET + request_transform: + method: POST + query_params: {} + template_engine: Kriti + url: '{{$base_url}}/tasks-assigned-handler' + version: 2 - table: name: timetickets schema: public @@ -5922,7 +6583,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: bodyshop: associations: @@ -5932,6 +6592,26 @@ _eq: X-Hasura-User-Id - active: _eq: true + event_triggers: + - name: notifications_time_tickets + definition: + enable_manual: false + insert: + columns: '*' + retry_conf: + interval_sec: 10 + num_retries: 0 + timeout_sec: 60 + webhook_from_env: HASURA_API_URL + headers: + - name: event-secret + value_from_env: EVENT_SECRET + request_transform: + method: POST + query_params: {} + template_engine: Kriti + url: '{{$base_url}}/notifications/events/handleTimeTicketsChange' + version: 2 - table: name: transitions schema: public @@ -6166,6 +6846,13 @@ table: name: email_audit_trail schema: public + - name: employees + using: + foreign_key_constraint_on: + column: user_email + table: + name: employees + schema: public - name: eula_acceptances using: foreign_key_constraint_on: @@ -6187,6 +6874,13 @@ table: name: ioevents schema: public + - name: job_watchers + using: + foreign_key_constraint_on: + column: user_email + table: + name: job_watchers + schema: public - name: messages using: foreign_key_constraint_on: @@ -6215,13 +6909,6 @@ table: name: parts_orders schema: public - - name: tasks - using: - foreign_key_constraint_on: - column: assigned_to - table: - name: tasks - schema: public - name: tasksByCreatedBy using: foreign_key_constraint_on: @@ -6418,7 +7105,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: bodyshop: associations: @@ -6504,6 +7190,7 @@ - state - street1 - street2 + - tags - updated_at - zip select_permissions: @@ -6527,6 +7214,7 @@ - state - street1 - street2 + - tags - updated_at - zip filter: @@ -6560,6 +7248,7 @@ - state - street1 - street2 + - tags - updated_at - zip filter: @@ -6575,7 +7264,6 @@ delete_permissions: - role: user permission: - backend_only: false filter: bodyshop: associations: