def call(params)
return [] unless params.production_tags || params.production_tag
results = []
client = params.gdc_gd_client
development_client = params.development_client
params.synchronize.each do |info|
from_project = info.from
to_projects = info.to
from = development_client.projects(from_project) || fail("Invalid 'from' project specified - '#{from_project}'")
to_projects.each do |entry|
pid = entry[:pid]
to_project = client.projects(pid) || fail("Invalid 'to' project specified - '#{pid}'")
GoodData::Project.transfer_tagged_stuff(from, to_project, params.production_tags || params.production_tag)
results << {
from: from_project,
to: pid,
tag: params.production_tags || params.production_tag,
status: 'ok'
}
end
end
results
end