commit d23ef9406e62c765a893d4fc521c77f9da3a6f6f
parent 357a6e2811ffc4fabd31f1e1e6b8111306db3772
Author: srfsh <dev@srf.sh>
Date: Tue, 22 Nov 2022 14:08:32 +0300
Zenflows.VF.EconomicResource.Domain: make sure that item is an EconomicEvent
Obviously, if it isn't, it won't have an :action_id field.
Diffstat:
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/zenflows/vf/economic_resource/domain.ex b/src/zenflows/vf/economic_resource/domain.ex
@@ -131,12 +131,14 @@ defp trace_depth_first_search(flows, visited, contained, modified, delivered, sa
handle_set(:modified, item, flows, visited, contained, modified, delivered, saved_event)
{flows, visited, contained, modified, delivered, saved_event} =
handle_set(:contained, item, flows, visited, contained, modified, delivered, saved_event)
- if item.action_id in ~w[pickup dropoff accept modify pack unpack] do
- {flows, visited, contained, modified, delivered, saved_event}
- else
- visited = MapSet.put(visited, {EconomicEvent, item.id})
- flows = [item | flows]
- trace_depth_first_search(flows, visited, contained, modified, delivered, saved_event)
+ case item do
+ %EconomicEvent{action_id: id}
+ when id in ~w[pickup dropoff accept modify pack unpack] ->
+ {flows, visited, contained, modified, delivered, saved_event}
+ _ ->
+ visited = MapSet.put(visited, {EconomicEvent, item.id})
+ flows = [item | flows]
+ trace_depth_first_search(flows, visited, contained, modified, delivered, saved_event)
end
else
{flows, visited, contained, modified, delivered, saved_event}