zf

zenflows testing
git clone https://s.sonu.ch/~srfsh/zf.git
Log | Files | Refs | Submodules | README | LICENSE

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:
Msrc/zenflows/vf/economic_resource/domain.ex | 14++++++++------
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}