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:
authorRobert Schilling <rschilling@student.tugraz.at>2017-03-02 15:14:13 +0300
committerRobert Schilling <rschilling@student.tugraz.at>2017-08-28 17:40:25 +0300
commite80313f9ee5b3495a8713e6ddae111bc8106155b (patch)
treef1327448ef9e837aedb9fde9a50d6531e42a6112 /lib/api/users.rb
parent998afa5f74558be215a924d95aa131a69831ca43 (diff)
Conditionally destroy a ressource
Diffstat (limited to 'lib/api/users.rb')
-rw-r--r--lib/api/users.rb47
1 files changed, 13 insertions, 34 deletions
diff --git a/lib/api/users.rb b/lib/api/users.rb
index 942bb72cf97..d7c7b9ae9c1 100644
--- a/lib/api/users.rb
+++ b/lib/api/users.rb
@@ -230,13 +230,7 @@ module API
key = user.keys.find_by(id: params[:key_id])
not_found!('Key') unless key
-<<<<<<< HEAD
- status 204
-=======
- check_unmodified_since(key.updated_at)
-
->>>>>>> API: Respect the 'If-Unmodified-Since' for delete endpoints
- key.destroy
+ destroy_conditionally!(key)
end
desc 'Add an email address to a specified user. Available only for admins.' do
@@ -292,14 +286,11 @@ module API
email = user.emails.find_by(id: params[:email_id])
not_found!('Email') unless email
-<<<<<<< HEAD
- Emails::DestroyService.new(user, email: email.email).execute
-=======
- check_unmodified_since(email.updated_at)
+ destroy_conditionally!(email) do |email|
+ Emails::DestroyService.new(current_user, email: email.email).execute
+ end
- email.destroy
user.update_secondary_emails!
->>>>>>> API: Respect the 'If-Unmodified-Since' for delete endpoints
end
desc 'Delete a user. Available only for admins.' do
@@ -315,14 +306,9 @@ module API
user = User.find_by(id: params[:id])
not_found!('User') unless user
-<<<<<<< HEAD
- status 204
- user.delete_async(deleted_by: current_user, params: params)
-=======
- check_unmodified_since(user.updated_at)
-
- ::Users::DestroyService.new(current_user).execute(user)
->>>>>>> API: Respect the 'If-Unmodified-Since' for delete endpoints
+ destroy_conditionally!(user) do
+ user.delete_async(deleted_by: current_user, params: params)
+ end
end
desc 'Block a user. Available only for admins.'
@@ -500,10 +486,7 @@ module API
key = current_user.keys.find_by(id: params[:key_id])
not_found!('Key') unless key
- check_unmodified_since(key.updated_at)
-
- status 204
- key.destroy
+ destroy_conditionally!(key)
end
desc "Get the currently authenticated user's email addresses" do
@@ -554,9 +537,11 @@ module API
email = current_user.emails.find_by(id: params[:email_id])
not_found!('Email') unless email
-<<<<<<< HEAD
- status 204
- Emails::DestroyService.new(current_user, email: email.email).execute
+ destroy_conditionally!(email) do |email|
+ Emails::DestroyService.new(current_user, email: email.email).execute
+ end
+
+ current_user.update_secondary_emails!
end
desc 'Get a list of user activities'
@@ -572,12 +557,6 @@ module API
.reorder(last_activity_on: :asc)
present paginate(activities), with: Entities::UserActivity
-=======
- check_unmodified_since(email.updated_at)
-
- email.destroy
- current_user.update_secondary_emails!
->>>>>>> API: Respect the 'If-Unmodified-Since' for delete endpoints
end
end
end