class GoodData::LCM2::EnsureTechnicalUsersDomain
Constants
- DESCRIPTION
- PARAMS
- RESULT_HEADER
Public Class Methods
call(params)
click to toggle source
# File lib/gooddata/lcm/actions/ensure_technical_users_domain.rb, line 40 def call(params) client = params.gdc_gd_client domain_name = params.organization || params.domain fail "Either organisation or domain has to be specified in params" unless domain_name domain = client.domain(domain_name) || fail("Invalid domain name specified - #{domain_name}") technical_users = (params.technical_users || params.technical_user || []).uniq technical_users.pmap do |technical_user| domain_user = domain.users.find do |du| du.login == technical_user end if domain_user { login: domain_user.login, email: domain_user.email, domain: domain_name, status: 'exists' } else user = domain.add_user(login: technical_user, email: technical_user) { login: user.login, email: user.email, domain: domain_name, status: 'added' } end end end