Skip to content

Commit

Permalink
fix: rename & fix return value for create_naics_code_mutation
Browse files Browse the repository at this point in the history
  • Loading branch information
dleard committed Mar 23, 2021
1 parent 50d6c47 commit 4353a6c
Show file tree
Hide file tree
Showing 8 changed files with 54 additions and 41 deletions.
35 changes: 35 additions & 0 deletions schema/deploy/mutations/create_naics_code.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
-- Deploy ggircs-portal:mutations/create_naics_code to pg
-- requires: tables/naics

begin;

create or replace function ggircs_portal.create_naics_code(
naics_code_input text,
ciip_sector_input text,
naics_description_input text
) returns ggircs_portal.naics_code
as $function$
declare
new_id int;
result ggircs_portal.naics_code;
begin

-- Reset deleted at/by and update description on conflict
insert into ggircs_portal.naics_code(naics_code, ciip_sector, naics_description)
values (naics_code_input, ciip_sector_input, naics_description_input)
on conflict(naics_code)
do update
set naics_description=naics_description_input, ciip_sector=ciip_sector_input, deleted_at=null, deleted_by=null
returning id into new_id;

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

end;

$function$ language plpgsql volatile;

grant execute on function ggircs_portal.create_naics_code to ciip_administrator;
comment on function ggircs_portal.create_naics_code is 'This custom create mutation does an upsert on conflict of the naics_code column, updating the description and setting the deleted at/by columsn to null';

commit;
22 changes: 0 additions & 22 deletions schema/deploy/mutations/create_naics_code_mutation.sql

This file was deleted.

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

begin;

drop function ggircs_portal.create_naics_code;

commit;
7 changes: 0 additions & 7 deletions schema/revert/mutations/create_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 @@ -258,7 +258,7 @@ policies/form_result_status_policies [policies/form_result_status_policies@v1.16
tables/form_result_status [tables/form_result_status@v1.16.0] 2021-03-12T23:10:08Z Dylan Leard <dylan@button.is> # Migration: drop form_result_status table
types/ciip_form_result_status [types/ciip_form_result_status@v1.16.0] 2021-03-12T23:22:31Z Dylan Leard <dylan@button.is> # Migration: drop deprecated type
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_mutation [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
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
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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ select plan(4);

-- Function exists
select has_function(
'ggircs_portal', 'create_naics_code_mutation', array['text', 'text', 'text'],
'Function ggircs_portal.create_naics_code_mutation should exist'
'ggircs_portal', 'create_naics_code', array['text', 'text', 'text'],
'Function ggircs_portal.create_naics_code should exist'
);

-- Test Setup
select test_helper.clean_ggircs_portal_schema();

select ggircs_portal.create_naics_code_mutation('1234', 'sector', 'init');
select ggircs_portal.create_naics_code('1234', 'sector', 'init');

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

-- "Delete" naics code & re-run custom mutation
update ggircs_portal.naics_code set deleted_at=now() where naics_code='1234';
select ggircs_portal.create_naics_code_mutation('1234', 'sector', 'updated');
select ggircs_portal.create_naics_code('1234', 'sector', 'updated');

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

begin;

select pg_get_functiondef('ggircs_portal.create_naics_code(text,text,text)'::regprocedure);

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

This file was deleted.

0 comments on commit 4353a6c

Please sign in to comment.