diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-06-10 18:07:52 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-06-10 18:07:52 +0300 |
commit | c4b02642d2ca74f463e64dd591796aabe5c54af9 (patch) | |
tree | 51556478ddc29fd51e16b8f2b8e3512e5cc168d7 /lib/api/milestones.rb | |
parent | f8ea52c3a0fe29daf76fbd7a0e65399c09c95f5a (diff) | |
download | gitlab-ce-c4b02642d2ca74f463e64dd591796aabe5c54af9.tar.gz |
Replace milestone observer with services
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'lib/api/milestones.rb')
-rw-r--r-- | lib/api/milestones.rb | 35 |
1 files changed, 16 insertions, 19 deletions
diff --git a/lib/api/milestones.rb b/lib/api/milestones.rb index f7e63b23093..a4fdb752d69 100644 --- a/lib/api/milestones.rb +++ b/lib/api/milestones.rb @@ -40,17 +40,15 @@ module API # Example Request: # POST /projects/:id/milestones post ":id/milestones" do - set_current_user_for_thread do - authorize! :admin_milestone, user_project - required_attributes! [:title] + authorize! :admin_milestone, user_project + required_attributes! [:title] + attrs = attributes_for_keys [:title, :description, :due_date] + milestone = ::Milestones::CreateService.new(user_project, current_user, attrs).execute - attrs = attributes_for_keys [:title, :description, :due_date] - @milestone = user_project.milestones.new attrs - if @milestone.save - present @milestone, with: Entities::Milestone - else - not_found! - end + if milestone.valid? + present milestone, with: Entities::Milestone + else + not_found! end end @@ -66,16 +64,15 @@ module API # Example Request: # PUT /projects/:id/milestones/:milestone_id put ":id/milestones/:milestone_id" do - set_current_user_for_thread do - authorize! :admin_milestone, user_project + authorize! :admin_milestone, user_project + attrs = attributes_for_keys [:title, :description, :due_date, :state_event] + milestone = user_project.milestones.find(params[:milestone_id]) + milestone = ::Milestones::UpdateService.new(user_project, current_user, attrs).execute(milestone) - @milestone = user_project.milestones.find(params[:milestone_id]) - attrs = attributes_for_keys [:title, :description, :due_date, :state_event] - if @milestone.update_attributes attrs - present @milestone, with: Entities::Milestone - else - not_found! - end + if milestone.valid? + present milestone, with: Entities::Milestone + else + not_found! end end end |