summaryrefslogtreecommitdiff
path: root/lib/api
diff options
context:
space:
mode:
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