Skip to content

Commit

Permalink
fix: replace default create_fuel_naics_code mutation
Browse files Browse the repository at this point in the history
  • Loading branch information
dleard committed Mar 23, 2021
1 parent 4353a6c commit 7772139
Show file tree
Hide file tree
Showing 8 changed files with 51 additions and 40 deletions.
32 changes: 32 additions & 0 deletions schema/deploy/mutations/create_fuel_naics_code.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
-- Deploy ggircs-portal:mutations/create_fuel_naics_code to pg
-- requires: tables/fuel_naics_code

begin;

create or replace function ggircs_portal.create_fuel_naics_code(
fuel_id_input int,
naics_code_id_input int
) returns ggircs_portal.fuel_naics_code as $function$

declare
new_id int;
result ggircs_portal.fuel_naics_code;
begin

-- Reset deleted at/by and update description on conflict
insert into ggircs_portal.fuel_naics_code(fuel_id, naics_code_id)
values (fuel_id_input, naics_code_id_input)
on conflict(fuel_id, naics_code_id) do update set deleted_at=null, deleted_by=null
returning id into new_id;

select * from ggircs_portal.fuel_naics_code where id=new_id into result;
return result;

end;

$function$ language plpgsql volatile;

grant execute on function ggircs_portal.create_fuel_naics_code to ciip_administrator;
comment on function ggircs_portal.create_fuel_naics_code is 'This custom create mutation does an upsert on conflict of the fuel_id & naics_code_id columns, setting the deleted at/by columsn to null';

commit;
21 changes: 0 additions & 21 deletions schema/deploy/mutations/create_fuel_naics_code_mutation.sql

This file was deleted.

7 changes: 7 additions & 0 deletions schema/revert/mutations/create_fuel_naics_code.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
-- Revert ggircs-portal:mutations/create_fuel_naics_code from pg

begin;

drop function ggircs_portal.create_fuel_naics_code;

commit;
7 changes: 0 additions & 7 deletions schema/revert/mutations/create_fuel_naics_code_mutation.sql

This file was deleted.

2 changes: 1 addition & 1 deletion schema/sqitch.plan
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ types/ciip_form_result_status [types/ciip_form_result_status@v1.16.0] 2021-03-12
tables/naics_code [schema_ggircs_portal] 2021-03-17T20:59:43Z Dylan Leard <dylan@button.is> # Table contains naics codes & their descriptions. NAICS is an acronym for North American Industry Classification System and is used to categorize industrial operations into sectors
mutations/create_naics_code [tables/naics_code] 2021-03-17T21:14:47Z Dylan Leard <dylan@button.is> # Mutation does an upsert when creating a row for a naics code that already exists
tables/fuel_naics_code [tables/naics_code tables/fuel] 2021-03-18T21:54:57Z Dylan Leard <dylan@button.is> # Through-table that contains the relationships between a fuel and a NAICS code
mutations/create_fuel_naics_code_mutation [tables/fuel_naics_code] 2021-03-18T22:31:58Z Dylan Leard <dylan@button.is> # Custom mutation to upsert a fuel_naics_code row if the fuel_id & naics_code_id of the inserted row already exists
mutations/create_fuel_naics_code [tables/fuel_naics_code] 2021-03-18T22:31:58Z Dylan Leard <dylan@button.is> # Custom mutation to upsert a fuel_naics_code row if the fuel_id & naics_code_id of the inserted row already exists
computed_columns/application_application_revision_status [computed_columns/application_application_revision_status@v1.16.0] 2021-03-19T16:33:04Z Dylan Leard <dylan@button.is> # Migration: order by id instead of created_at
computed_columns/application_revision_application_revision_status [computed_columns/application_revision_application_revision_status@v1.16.0] 2021-03-19T16:33:59Z Dylan Leard <dylan@button.is> # Migration: order by id rather than created_at
trigger_functions/immutable_form_result [trigger_functions/immutable_form_result@v1.16.0] 2021-03-19T16:35:40Z Dylan Leard <dylan@button.is> # Migration: order by id rather than created_at
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ select plan(3);

-- Function exists
select has_function(
'ggircs_portal', 'create_fuel_naics_code_mutation', array['int', 'int'],
'Function ggircs_portal.create_fuel_naics_code_mutation should exist'
'ggircs_portal', 'create_fuel_naics_code', array['int', 'int'],
'Function ggircs_portal.create_fuel_naics_code should exist'
);

-- Test Setup
Expand All @@ -18,7 +18,7 @@ select test_helper.create_test_users();
insert into ggircs_portal.fuel(name, swrs_fuel_mapping_id) values ('fuel 1', 1), ('fuel 2', 2);
insert into ggircs_portal.naics_code(naics_code, naics_description) values ('1234', 'naics 1'), ('9999', 'naics 2');

select ggircs_portal.create_fuel_naics_code_mutation(1, 1);
select ggircs_portal.create_fuel_naics_code(1, 1);

select results_eq(
$$
Expand All @@ -30,7 +30,7 @@ select results_eq(

-- "Delete" fuel_naics_code code & re-run custom mutation
update ggircs_portal.fuel_naics_code set deleted_at=now();
select ggircs_portal.create_fuel_naics_code_mutation(1, 1);
select ggircs_portal.create_fuel_naics_code(1, 1);

select is_empty(
$$
Expand Down
7 changes: 7 additions & 0 deletions schema/verify/mutations/create_fuel_naics_code.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
-- Verify ggircs-portal:mutations/create_fuel_naics_code on pg

begin;

select pg_get_functiondef('ggircs_portal.create_fuel_naics_code(int, int)'::regprocedure);

rollback;
7 changes: 0 additions & 7 deletions schema/verify/mutations/create_fuel_naics_code_mutation.sql

This file was deleted.

0 comments on commit 7772139

Please sign in to comment.