Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/resource_events/change_milestone_service.rb')
-rw-r--r--app/services/resource_events/change_milestone_service.rb29
1 files changed, 11 insertions, 18 deletions
diff --git a/app/services/resource_events/change_milestone_service.rb b/app/services/resource_events/change_milestone_service.rb
index 82c3e2acad5..dcdf87599ac 100644
--- a/app/services/resource_events/change_milestone_service.rb
+++ b/app/services/resource_events/change_milestone_service.rb
@@ -1,37 +1,30 @@
# frozen_string_literal: true
module ResourceEvents
- class ChangeMilestoneService
- attr_reader :resource, :user, :event_created_at, :milestone, :old_milestone
+ class ChangeMilestoneService < BaseChangeTimeboxService
+ attr_reader :milestone, :old_milestone
def initialize(resource, user, created_at: Time.current, old_milestone:)
- @resource = resource
- @user = user
- @event_created_at = created_at
+ super(resource, user, created_at: created_at)
+
@milestone = resource&.milestone
@old_milestone = old_milestone
end
- def execute
- ResourceMilestoneEvent.create(build_resource_args)
+ private
- resource.expire_note_etag_cache
+ def create_event
+ ResourceMilestoneEvent.create(build_resource_args)
end
- private
-
def build_resource_args
action = milestone.blank? ? :remove : :add
- key = resource.class.name.foreign_key
- {
- user_id: user.id,
- created_at: event_created_at,
- milestone_id: action == :add ? milestone&.id : old_milestone&.id,
+ super.merge({
state: ResourceMilestoneEvent.states[resource.state],
- action: ResourceMilestoneEvent.actions[action],
- key => resource.id
- }
+ action: ResourceTimeboxEvent.actions[action],
+ milestone_id: milestone.blank? ? old_milestone&.id : milestone&.id
+ })
end
end
end