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
path: root/lib/api
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-06-10 19:07:52 +0400
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-06-10 19:07:52 +0400
commitc4b02642d2ca74f463e64dd591796aabe5c54af9 (patch)
tree51556478ddc29fd51e16b8f2b8e3512e5cc168d7 /lib/api
parentf8ea52c3a0fe29daf76fbd7a0e65399c09c95f5a (diff)
Replace milestone observer with services
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'lib/api')
-rw-r--r--lib/api/milestones.rb35
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