29 lines
625 B
Ruby
29 lines
625 B
Ruby
|
class Sequencer
|
||
|
class Unit
|
||
|
module Import
|
||
|
module Zendesk
|
||
|
class UserGroupMap < Sequencer::Unit::Base
|
||
|
|
||
|
uses :client
|
||
|
provides :user_group_map
|
||
|
|
||
|
def process
|
||
|
state.provide(:user_group_map, mapping)
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def mapping
|
||
|
result = {}
|
||
|
client.group_memberships.all! do |group_membership|
|
||
|
result[ group_membership.user_id ] ||= []
|
||
|
result[ group_membership.user_id ].push( group_membership.group_id )
|
||
|
end
|
||
|
result
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|