-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: do not create extraneous review steps for older applications
- Loading branch information
Showing
7 changed files
with
142 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
48 changes: 48 additions & 0 deletions
48
schema/deploy/trigger_functions/create_or_refresh_review_step@v2.13.0.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
-- Deploy ggircs-portal:trigger_functions/create_or_refresh_review_step to pg | ||
-- requires: tables/application_review_step | ||
|
||
begin; | ||
|
||
create or replace function ggircs_portal_private.create_or_refresh_review_step() | ||
returns trigger as $$ | ||
|
||
declare | ||
temp_row record; | ||
|
||
begin | ||
|
||
if new.version_number > 0 then | ||
|
||
for temp_row in | ||
select id, step_name from ggircs_portal.review_step where is_active = true | ||
loop | ||
insert into ggircs_portal.application_review_step(application_id, review_step_id) | ||
values (new.application_id, temp_row.id) | ||
on conflict (application_id, review_step_id) | ||
do update set is_complete=false; | ||
end loop; | ||
end if; | ||
|
||
return new; | ||
end; | ||
$$ language plpgsql volatile security definer; | ||
|
||
grant execute on function ggircs_portal_private.create_or_refresh_review_step to ciip_administrator, ciip_analyst, ciip_industry_user; | ||
|
||
comment on function ggircs_portal_private.create_or_refresh_review_step() | ||
is $$ | ||
a trigger to create a review step for an application if it does not exist else reset the is_complete value to false | ||
when the application_revision_status changes to submitted. | ||
example usage: | ||
|
||
create table some_schema.some_table ( | ||
... | ||
application_revision_status ggircs_portal.application_revision_status | ||
); | ||
create trigger _create_or_refresh_review_step | ||
before insert of application_revision_status on some_schema.some_table | ||
for each row | ||
execute procedure ggircs_portal_private.create_or_refresh_review_step(); | ||
$$; | ||
|
||
commit; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
45 changes: 45 additions & 0 deletions
45
schema/revert/trigger_functions/create_or_refresh_review_step@v2.13.0.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
-- Deploy ggircs-portal:trigger_functions/create_or_refresh_review_step to pg | ||
-- requires: tables/application_review_step | ||
|
||
begin; | ||
|
||
create or replace function ggircs_portal_private.create_or_refresh_review_step() | ||
returns trigger as $$ | ||
|
||
declare | ||
temp_row record; | ||
|
||
begin | ||
|
||
for temp_row in | ||
select id, step_name from ggircs_portal.review_step where is_active = true | ||
loop | ||
insert into ggircs_portal.application_review_step(application_id, review_step_id) | ||
values (new.application_id, temp_row.id) | ||
on conflict (application_id, review_step_id) | ||
do update set is_complete=false; | ||
end loop; | ||
|
||
return new; | ||
end; | ||
$$ language plpgsql volatile security definer; | ||
|
||
grant execute on function ggircs_portal_private.create_or_refresh_review_step to ciip_administrator, ciip_analyst, ciip_industry_user; | ||
|
||
comment on function ggircs_portal_private.create_or_refresh_review_step() | ||
is $$ | ||
a trigger to create a review step for an application if it does not exist else reset the is_complete value to false | ||
when the application_revision_status changes to submitted. | ||
example usage: | ||
|
||
create table some_schema.some_table ( | ||
... | ||
application_revision_status ggircs_portal.application_revision_status | ||
); | ||
create trigger _create_or_refresh_review_step | ||
before insert of application_revision_status on some_schema.some_table | ||
for each row | ||
execute procedure ggircs_portal_private.create_or_refresh_review_step(); | ||
$$; | ||
|
||
commit; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 7 additions & 0 deletions
7
schema/verify/trigger_functions/create_or_refresh_review_step@v2.13.0.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
-- Verify ggircs-portal:trigger_functions/create_or_refresh_review_step on pg | ||
|
||
begin; | ||
|
||
select pg_get_functiondef('ggircs_portal_private.create_or_refresh_review_step()'::regprocedure); | ||
|
||
rollback; |