Skip to content
Snippets Groups Projects

WS-1893 curator workflow

Merged Daniel Nemergut requested to merge ws1893-curator_workflow into 2.8.2.1-DEVELOMENT
All threads resolved!
1 file
+ 0
124
Compare changes
  • Side-by-side
  • Inline
@@ -33,132 +33,8 @@ def upgrade():
"""
)
# This capability will have the same states, transitions, and actions as the download capability
op.execute(
f"""
INSERT INTO capability_states
SELECT E'{wf_name}', state
FROM capability_states
WHERE capability_name = 'download'
"""
)
op.execute(
f"""
INSERT INTO capability_state_transitions (capability_name, from_state, pattern, to_state)
SELECT E'{wf_name}', from_state, pattern, to_state
FROM capability_state_transitions
WHERE capability_name = 'download';
"""
)
# Making these explicit to grab the correct transition_ids
op.execute(
f"""
INSERT INTO capability_state_actions (transition_id, action_type, arguments)
VALUES (
(SELECT transition_id FROM capability_state_transitions
WHERE capability_name=E'{wf_name}'
AND from_state='Start'
AND to_state='Queued'),
'QueueWorkflow', E'{wf_name}');
INSERT INTO capability_state_actions (transition_id, action_type, arguments)
VALUES (
(SELECT transition_id FROM capability_state_transitions
WHERE capability_name=E'{wf_name}'
AND from_state='Start'
AND to_state='Queued'),
'SendNotification', '{{"template": "workflow_submitted"}}');
INSERT INTO capability_state_actions (transition_id, action_type, arguments)
VALUES (
(SELECT transition_id FROM capability_state_transitions
WHERE capability_name=E'{wf_name}'
AND from_state='Queued'
AND to_state='Executing'),
'ExecuteWorkflow', E'{wf_name}');
INSERT INTO capability_state_actions (transition_id, action_type, arguments)
VALUES (
(SELECT transition_id FROM capability_state_transitions
WHERE capability_name=E'{wf_name}'
AND from_state='Queued'
AND to_state='Cancelled'),
'SendMessage', 'capability_cancelled');
INSERT INTO capability_state_actions (transition_id, action_type, arguments)
VALUES (
(SELECT transition_id FROM capability_state_transitions
WHERE capability_name=E'{wf_name}'
AND from_state='Executing'
AND to_state='Complete'),
'SendMessage', 'execution_complete');
INSERT INTO capability_state_actions (transition_id, action_type, arguments)
VALUES (
(SELECT transition_id FROM capability_state_transitions
WHERE capability_name=E'{wf_name}'
AND from_state='Executing'
AND to_state='Complete'),
'SendNotification', '{{"template": "workflow_complete", "send_to_qa": false}}');
INSERT INTO capability_state_actions (transition_id, action_type, arguments)
VALUES (
(SELECT transition_id FROM capability_state_transitions
WHERE capability_name=E'{wf_name}'
AND from_state='Executing'
AND to_state='Error'),
'SendMessage', 'execution_error');
INSERT INTO capability_state_actions (transition_id, action_type, arguments)
VALUES (
(SELECT transition_id FROM capability_state_transitions
WHERE capability_name=E'{wf_name}'
AND from_state='Executing'
AND to_state='Error'),
'SendNotification', '{{"template": "workflow_failed", "send_to_qa": false}}');
INSERT INTO capability_state_actions (transition_id, action_type, arguments)
VALUES (
(SELECT transition_id FROM capability_state_transitions
WHERE capability_name=E'{wf_name}'
AND from_state='Executing'
AND to_state='Cancelled'),
'Cancel', E'{wf_name}');
INSERT INTO capability_state_actions (transition_id, action_type, arguments)
VALUES (
(SELECT transition_id FROM capability_state_transitions
WHERE capability_name=E'{wf_name}'
AND from_state='Executing'
AND to_state='Cancelled'),
'SendMessage', 'capability_cancelled');
"""
)
def downgrade():
op.execute(
f"""
DELETE FROM capability_state_actions WHERE transition_id IN (
SELECT transition_id FROM capability_state_transitions WHERE capability_name = {wf_name}
)
"""
)
op.execute(
f"""
DELETE FROM capability_state_transitions WHERE capability_name = {wf_name}
"""
)
op.execute(
f"""
DELETE FROM capability_states WHERE capability_name = {wf_name}
"""
)
op.execute(
f"""
DELETE FROM capability_state_machines WHERE capability_name = {wf_name}
Loading