module Eco module API class MicroCases #self.define("set_supervisor") do |entry, person, session, options, people, supers_job| def set_supervisor(entry, person, options, people, supers_job) # set supervisor unless options.dig(:exclude, :core) || options.dig(:exclude, :supervisor) if !(sup_id = entry.supervisor_id) person.supervisor_id = nil else if supervisor = people.person(id: sup_id, external_id: sup_id, email: sup_id) person.supervisor_id = supervisor.id else # delay setting supervisor if does not exit supers_job.add(person) do |person| person.supervisor_id = sup_id end end end end end end end end