@@ -117,13 +117,22 @@ defmodule WraftDoc.Workers.BulkWorker do
117117 stage: stage
118118 }
119119
120- trigger =
121- update_trigger_history_state_and_error ( trigger , state , error_data )
122-
123120 # Trigger webhook for pipeline failure
124121 Task . start ( fn ->
125122 trigger = Repo . preload ( trigger , :pipeline )
126- EventTrigger . trigger_pipeline_failed ( trigger , error_data )
123+
124+ payload =
125+ trigger
126+ |> EventTrigger . trigger_pipeline_failed ( error_data )
127+ |> case do
128+ payload when is_map ( payload ) ->
129+ payload
130+
131+ _ ->
132+ % { }
133+ end
134+
135+ update_trigger_history_state_and_error ( trigger , state , error_data , payload )
127136 end )
128137
129138 Logger . error ( "Form mapping not complete. Pipeline execution failed." )
@@ -143,13 +152,22 @@ defmodule WraftDoc.Workers.BulkWorker do
143152 stage: stage
144153 }
145154
146- trigger =
147- update_trigger_history_state_and_error ( trigger , state , error_data )
148-
149155 # Trigger webhook for pipeline failure
150156 Task . start ( fn ->
151157 trigger = Repo . preload ( trigger , :pipeline )
152- EventTrigger . trigger_pipeline_failed ( trigger , error_data )
158+
159+ payload =
160+ trigger
161+ |> EventTrigger . trigger_pipeline_failed ( error_data )
162+ |> case do
163+ payload when is_map ( payload ) ->
164+ payload
165+
166+ _ ->
167+ % { }
168+ end
169+
170+ update_trigger_history_state_and_error ( trigger , state , error_data , payload )
153171 end )
154172
155173 Logger . error ( "Pipeline not found. Pipeline execution failed." )
@@ -169,13 +187,21 @@ defmodule WraftDoc.Workers.BulkWorker do
169187 stage: stage
170188 }
171189
172- trigger =
173- update_trigger_history_state_and_error ( trigger , state , error_data )
174-
175190 # Trigger webhook for pipeline failure
176191 Task . start ( fn ->
177- trigger = Repo . preload ( trigger , :pipeline )
178- EventTrigger . trigger_pipeline_failed ( trigger , error_data )
192+ payload =
193+ trigger
194+ |> Repo . preload ( :pipeline )
195+ |> EventTrigger . trigger_pipeline_failed ( error_data )
196+ |> case do
197+ payload when is_map ( payload ) ->
198+ payload
199+
200+ _ ->
201+ % { }
202+ end
203+
204+ update_trigger_history_state_and_error ( trigger , state , error_data , payload )
179205 end )
180206
181207 Logger . error ( "Instance creation failed. Pipeline execution failed." )
@@ -195,13 +221,22 @@ defmodule WraftDoc.Workers.BulkWorker do
195221 stage: stage
196222 }
197223
198- trigger =
199- update_trigger_history_state_and_error ( trigger , state , error_data )
200-
201224 # Trigger webhook for pipeline failure
202225 Task . start ( fn ->
203226 trigger = Repo . preload ( trigger , :pipeline )
204- EventTrigger . trigger_pipeline_failed ( trigger , error_data )
227+
228+ payload =
229+ trigger
230+ |> EventTrigger . trigger_pipeline_failed ( error_data )
231+ |> case do
232+ payload when is_map ( payload ) ->
233+ payload
234+
235+ _ ->
236+ % { }
237+ end
238+
239+ update_trigger_history_state_and_error ( trigger , state , error_data , payload )
205240 end )
206241
207242 Logger . error ( "Instance creation failed. Pipeline execution failed." )
@@ -221,12 +256,21 @@ defmodule WraftDoc.Workers.BulkWorker do
221256 stage: stage
222257 }
223258
224- trigger =
225- update_trigger_history_state_and_error ( trigger , state , error_data )
226-
227259 Task . start ( fn ->
228260 trigger = Repo . preload ( trigger , :pipeline )
229- EventTrigger . trigger_pipeline_failed ( trigger , error_data )
261+
262+ payload =
263+ trigger
264+ |> EventTrigger . trigger_pipeline_failed ( error_data )
265+ |> case do
266+ payload when is_map ( payload ) ->
267+ payload
268+
269+ _ ->
270+ % { }
271+ end
272+
273+ update_trigger_history_state_and_error ( trigger , state , error_data , payload )
230274 end )
231275
232276 Logger . error ( "Invalid JSON error. Pipeline execution failed." )
@@ -238,7 +282,6 @@ defmodule WraftDoc.Workers.BulkWorker do
238282 current_user
239283 ) do
240284 state = TriggerHistory . states ( ) [ :success ]
241- trigger = update_trigger_history ( trigger , % { state: state , zip_file: zip_file } )
242285
243286 instances = Map . get ( result , :instances , [ ] )
244287
@@ -249,7 +292,20 @@ defmodule WraftDoc.Workers.BulkWorker do
249292
250293 Task . start ( fn ->
251294 trigger = Repo . preload ( trigger , :pipeline )
252- EventTrigger . trigger_pipeline_completed ( trigger , pipeline_result )
295+
296+ payload =
297+ trigger
298+ |> EventTrigger . trigger_pipeline_completed ( pipeline_result )
299+ |> case do
300+ payload when is_map ( payload ) -> payload
301+ _ -> % { }
302+ end
303+
304+ update_trigger_history ( trigger , % {
305+ state: state ,
306+ response: payload ,
307+ zip_file: zip_file
308+ } )
253309 end )
254310
255311 Task . start ( fn ->
@@ -310,11 +366,18 @@ defmodule WraftDoc.Workers.BulkWorker do
310366 documents: successful_instances
311367 }
312368
313- trigger = update_trigger_history_state_and_error ( trigger , state , error_data_for_db )
314-
315369 Task . start ( fn ->
316370 trigger_with_pipeline = Repo . preload ( trigger , :pipeline )
317- EventTrigger . trigger_pipeline_partially_completed ( trigger_with_pipeline , pipeline_result )
371+
372+ payload =
373+ trigger_with_pipeline
374+ |> EventTrigger . trigger_pipeline_partially_completed ( pipeline_result )
375+ |> case do
376+ payload when is_map ( payload ) -> payload
377+ _ -> % { }
378+ end
379+
380+ update_trigger_history_state_and_error ( trigger , state , error_data_for_db , payload )
318381 end )
319382
320383 Task . start ( fn ->
@@ -353,12 +416,12 @@ defmodule WraftDoc.Workers.BulkWorker do
353416 end
354417
355418 # Update state and error of a trigger history
356- @ spec update_trigger_history_state_and_error ( TriggerHistory . t ( ) , integer , map ) ::
419+ @ spec update_trigger_history_state_and_error ( TriggerHistory . t ( ) , integer ( ) , map ( ) , map ( ) ) ::
357420 TriggerHistory . t ( )
358- defp update_trigger_history_state_and_error ( trigger , state , error ) do
421+ defp update_trigger_history_state_and_error ( trigger , state , error , response \\ % { } ) do
359422 failure_time = DateTime . to_iso8601 ( Timex . now ( ) )
360423 error = Map . put ( error , :failure_time , failure_time )
361- update_trigger_history ( trigger , % { state: state , error: error } )
424+ update_trigger_history ( trigger , % { state: state , error: error , response: response } )
362425 end
363426
364427 # Update trigger history on start
0 commit comments