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:
authorLin Jen-Shin <godfat@godfat.org>2017-02-24 12:14:35 +0300
committerLin Jen-Shin <godfat@godfat.org>2017-02-24 12:14:35 +0300
commit83418ad846d07658303a9e79f14c51cebbb66cfa (patch)
treef0f06ed3f3654fc6337ad3a5ec0c6397a3871a95 /lib/api/v3/todos.rb
parent91965cefebfa6b2199b9b48e79752bf62cd67305 (diff)
parentc5b29ed6f36779dbb96f4cdc7b1b0bce8bb8dc5e (diff)
Merge remote-tracking branch 'upstream/master' into 27762-add-default-artifacts-expiration
* upstream/master: (247 commits) Switched CONTRIBUTING.md style guide recommendation for method chaining Fix new offenses Stylistic tweaks Fix OAuth/SAML user blocking behavior Revert "Enable Style/DotPosition" Revert "Prefer leading style for Style/DotPosition" Revert "Enable Style/BarePercentLiterals" Manually correct autocorrect Move up delegate calls Exclude migrations from Style/MutableConstant ActiveSupport delegation is preferred over Forwardable Update haml_lint to work with newest rubocop Add explanations to cops Update rubocop and rubocop-rspec and regenerate .rubocop_todo.yml Update rubocop and rubocop-rspec and regenerate .rubocop_todo.yml Order cops alphabetically Don’t exclude some file in lib from rubocop Fix new offenses Enable Rails/Delegate Enable Style/WordArray ...
Diffstat (limited to 'lib/api/v3/todos.rb')
-rw-r--r--lib/api/v3/todos.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/api/v3/todos.rb b/lib/api/v3/todos.rb
new file mode 100644
index 00000000000..4f9b5fe72a6
--- /dev/null
+++ b/lib/api/v3/todos.rb
@@ -0,0 +1,28 @@
+module API
+ module V3
+ class Todos < Grape::API
+ before { authenticate! }
+
+ resource :todos do
+ desc 'Mark a todo as done' do
+ success ::API::Entities::Todo
+ end
+ params do
+ requires :id, type: Integer, desc: 'The ID of the todo being marked as done'
+ end
+ delete ':id' do
+ todo = current_user.todos.find(params[:id])
+ TodoService.new.mark_todos_as_done([todo], current_user)
+
+ present todo.reload, with: ::API::Entities::Todo, current_user: current_user
+ end
+
+ desc 'Mark all todos as done'
+ delete do
+ todos = TodosFinder.new(current_user, params).execute
+ TodoService.new.mark_todos_as_done(todos, current_user)
+ end
+ end
+ end
+ end
+end