summaryrefslogtreecommitdiff
path: root/lib/api/notes.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/notes.rb')
-rw-r--r--lib/api/notes.rb13
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/api/notes.rb b/lib/api/notes.rb
index 413faf0cf2d..0ef9a3c4beb 100644
--- a/lib/api/notes.rb
+++ b/lib/api/notes.rb
@@ -50,12 +50,15 @@ module API
post ":id/#{noteables_str}/:#{noteable_id_str}/notes" do
required_attributes! [:body]
- @noteable = user_project.send(:"#{noteables_str}").find(params[:"#{noteable_id_str}"])
- @note = @noteable.notes.new(note: params[:body])
- @note.author = current_user
- @note.project = user_project
+ opts = {
+ note: params[:body],
+ noteable_type: noteables_str.classify,
+ noteable_id: params[noteable_id_str]
+ }
+
+ @note = ::Notes::CreateService.new(user_project, current_user, opts).execute
- if @note.save
+ if @note.valid?
present @note, with: Entities::Note
else
not_found!