2020-09-29 00:09:59 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module DesignManagement
|
|
|
|
class CopyDesignCollectionWorker
|
|
|
|
include ApplicationWorker
|
|
|
|
|
2021-07-21 12:09:35 +00:00
|
|
|
data_consistency :always
|
|
|
|
|
2021-04-30 18:10:09 +00:00
|
|
|
sidekiq_options retry: 3
|
|
|
|
|
2020-09-29 00:09:59 +00:00
|
|
|
feature_category :design_management
|
|
|
|
idempotent!
|
|
|
|
urgency :low
|
|
|
|
|
|
|
|
def perform(user_id, issue_id, target_issue_id)
|
|
|
|
user = User.find(user_id)
|
|
|
|
issue = Issue.find(issue_id)
|
|
|
|
target_issue = Issue.find(target_issue_id)
|
|
|
|
|
|
|
|
response = DesignManagement::CopyDesignCollection::CopyService.new(
|
|
|
|
target_issue.project,
|
|
|
|
user,
|
|
|
|
issue: issue,
|
|
|
|
target_issue: target_issue
|
|
|
|
).execute
|
|
|
|
|
|
|
|
Gitlab::AppLogger.warn(response.message) if response.error?
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|