diff --git a/hasura/metadata/tables.yaml b/hasura/metadata/tables.yaml index 46a1999a1..b9efbb437 100644 --- a/hasura/metadata/tables.yaml +++ b/hasura/metadata/tables.yaml @@ -2676,6 +2676,31 @@ - table: name: job_ar_schema schema: public + object_relationships: + - name: job + using: + foreign_key_constraint_on: id + select_permissions: + - role: user + permission: + columns: + - id + - ro_number + - clm_total + - total_payments + - balance + - date_invoiced + - shopid + filter: + job: + bodyshop: + associations: + _and: + - active: + _eq: true + - user: + authid: + _eq: X-Hasura-User-Id - table: name: job_conversations schema: public diff --git a/hasura/migrations/1705712927924_alter_table_public_eula_acceptances_alter_column_buisness_name/down.sql b/hasura/migrations/1705712927924_alter_table_public_eula_acceptances_alter_column_buisness_name/down.sql new file mode 100644 index 000000000..8c4d38542 --- /dev/null +++ b/hasura/migrations/1705712927924_alter_table_public_eula_acceptances_alter_column_buisness_name/down.sql @@ -0,0 +1 @@ +alter table "public"."eula_acceptances" rename column "business_name" to "buisness_name"; diff --git a/hasura/migrations/1705712927924_alter_table_public_eula_acceptances_alter_column_buisness_name/up.sql b/hasura/migrations/1705712927924_alter_table_public_eula_acceptances_alter_column_buisness_name/up.sql new file mode 100644 index 000000000..7dc59b9f6 --- /dev/null +++ b/hasura/migrations/1705712927924_alter_table_public_eula_acceptances_alter_column_buisness_name/up.sql @@ -0,0 +1 @@ +alter table "public"."eula_acceptances" rename column "buisness_name" to "business_name"; diff --git a/hasura/migrations/1705715500461_alter_table_public_eula_acceptances_alter_column_phone_number/down.sql b/hasura/migrations/1705715500461_alter_table_public_eula_acceptances_alter_column_phone_number/down.sql new file mode 100644 index 000000000..08ab66099 --- /dev/null +++ b/hasura/migrations/1705715500461_alter_table_public_eula_acceptances_alter_column_phone_number/down.sql @@ -0,0 +1 @@ +alter table "public"."eula_acceptances" alter column "phone_number" set not null; diff --git a/hasura/migrations/1705715500461_alter_table_public_eula_acceptances_alter_column_phone_number/up.sql b/hasura/migrations/1705715500461_alter_table_public_eula_acceptances_alter_column_phone_number/up.sql new file mode 100644 index 000000000..de5721802 --- /dev/null +++ b/hasura/migrations/1705715500461_alter_table_public_eula_acceptances_alter_column_phone_number/up.sql @@ -0,0 +1 @@ +alter table "public"."eula_acceptances" alter column "phone_number" drop not null; diff --git a/hasura/migrations/1705715523486_alter_table_public_eula_acceptances_alter_column_address/down.sql b/hasura/migrations/1705715523486_alter_table_public_eula_acceptances_alter_column_address/down.sql new file mode 100644 index 000000000..fa66ebd58 --- /dev/null +++ b/hasura/migrations/1705715523486_alter_table_public_eula_acceptances_alter_column_address/down.sql @@ -0,0 +1 @@ +alter table "public"."eula_acceptances" alter column "address" set not null; diff --git a/hasura/migrations/1705715523486_alter_table_public_eula_acceptances_alter_column_address/up.sql b/hasura/migrations/1705715523486_alter_table_public_eula_acceptances_alter_column_address/up.sql new file mode 100644 index 000000000..d571c7cf3 --- /dev/null +++ b/hasura/migrations/1705715523486_alter_table_public_eula_acceptances_alter_column_address/up.sql @@ -0,0 +1 @@ +alter table "public"."eula_acceptances" alter column "address" drop not null; diff --git a/hasura/migrations/1705952780563_alter_table_public_job_ar_schema_add_column_shopid/down.sql b/hasura/migrations/1705952780563_alter_table_public_job_ar_schema_add_column_shopid/down.sql new file mode 100644 index 000000000..fe15ee344 --- /dev/null +++ b/hasura/migrations/1705952780563_alter_table_public_job_ar_schema_add_column_shopid/down.sql @@ -0,0 +1,4 @@ +-- Could not auto-generate a down migration. +-- Please write an appropriate down migration for the SQL below: +-- alter table "public"."job_ar_schema" add column "shopid" uuid +-- null; diff --git a/hasura/migrations/1705952780563_alter_table_public_job_ar_schema_add_column_shopid/up.sql b/hasura/migrations/1705952780563_alter_table_public_job_ar_schema_add_column_shopid/up.sql new file mode 100644 index 000000000..349ad38de --- /dev/null +++ b/hasura/migrations/1705952780563_alter_table_public_job_ar_schema_add_column_shopid/up.sql @@ -0,0 +1,2 @@ +alter table "public"."job_ar_schema" add column "shopid" uuid + null; diff --git a/hasura/migrations/1705952821099_set_fk_public_job_ar_schema_id/down.sql b/hasura/migrations/1705952821099_set_fk_public_job_ar_schema_id/down.sql new file mode 100644 index 000000000..61b827d98 --- /dev/null +++ b/hasura/migrations/1705952821099_set_fk_public_job_ar_schema_id/down.sql @@ -0,0 +1 @@ +alter table "public"."job_ar_schema" drop constraint "job_ar_schema_id_fkey"; diff --git a/hasura/migrations/1705952821099_set_fk_public_job_ar_schema_id/up.sql b/hasura/migrations/1705952821099_set_fk_public_job_ar_schema_id/up.sql new file mode 100644 index 000000000..238c13e33 --- /dev/null +++ b/hasura/migrations/1705952821099_set_fk_public_job_ar_schema_id/up.sql @@ -0,0 +1,5 @@ +alter table "public"."job_ar_schema" + add constraint "job_ar_schema_id_fkey" + foreign key ("id") + references "public"."jobs" + ("id") on update restrict on delete restrict; diff --git a/hasura/migrations/1705952926623_run_sql_migration/down.sql b/hasura/migrations/1705952926623_run_sql_migration/down.sql new file mode 100644 index 000000000..ff68f3148 --- /dev/null +++ b/hasura/migrations/1705952926623_run_sql_migration/down.sql @@ -0,0 +1,35 @@ +-- Could not auto-generate a down migration. +-- Please write an appropriate down migration for the SQL below: +-- CREATE OR REPLACE FUNCTION public.jobs_ar_summary () +-- RETURNS SETOF job_ar_schema +-- LANGUAGE plpgsql +-- STABLE +-- AS $function$ +-- BEGIN +-- +-- RETURN query +-- select +-- j.id, +-- j.ro_number, +-- j.clm_total, +-- coalesce (p.total_payments,0) as total_payments, +-- j.clm_total - coalesce (p.total_payments,0) as balance, +-- j.date_invoiced, +-- j.shopid +-- from +-- jobs j +-- left join ( +-- select +-- p.jobid, +-- coalesce (sum(p.amount),0) as total_payments +-- from +-- payments p +-- group by +-- p.jobid +-- ) p on +-- j.id = p.jobid +-- where j.remove_from_ar = false and j.date_invoiced is not null and j.clm_total - coalesce (p.total_payments,0) > 0; +-- +-- +-- END +-- $function$; diff --git a/hasura/migrations/1705952926623_run_sql_migration/up.sql b/hasura/migrations/1705952926623_run_sql_migration/up.sql new file mode 100644 index 000000000..2ac974bd5 --- /dev/null +++ b/hasura/migrations/1705952926623_run_sql_migration/up.sql @@ -0,0 +1,33 @@ +CREATE OR REPLACE FUNCTION public.jobs_ar_summary () + RETURNS SETOF job_ar_schema + LANGUAGE plpgsql + STABLE + AS $function$ +BEGIN + + RETURN query +select + j.id, + j.ro_number, + j.clm_total, + coalesce (p.total_payments,0) as total_payments, + j.clm_total - coalesce (p.total_payments,0) as balance, + j.date_invoiced, + j.shopid +from + jobs j +left join ( + select + p.jobid, + coalesce (sum(p.amount),0) as total_payments + from + payments p + group by + p.jobid + ) p on + j.id = p.jobid +where j.remove_from_ar = false and j.date_invoiced is not null and j.clm_total - coalesce (p.total_payments,0) > 0; + + +END +$function$;