summaryrefslogtreecommitdiff
path: root/lib/api/users.rb
diff options
context:
space:
mode:
authorRobert Schilling <rschilling@student.tugraz.at>2017-03-01 14:35:48 +0100
committerRobert Schilling <rschilling@student.tugraz.at>2017-08-28 16:40:25 +0200
commit998afa5f74558be215a924d95aa131a69831ca43 (patch)
tree500c242e2bacd966b3faf1a019f28edff2ee24d7 /lib/api/users.rb
parent7ccef75a26bc4997e04c109007e6c6ee004574cb (diff)
downloadgitlab-ce-998afa5f74558be215a924d95aa131a69831ca43.tar.gz
API: Respect the 'If-Unmodified-Since' for delete endpoints
Diffstat (limited to 'lib/api/users.rb')
-rw-r--r--lib/api/users.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/api/users.rb b/lib/api/users.rb
index e2019d6d512..942bb72cf97 100644
--- a/lib/api/users.rb
+++ b/lib/api/users.rb
@@ -230,7 +230,12 @@ 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
end
@@ -287,7 +292,14 @@ 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)
+
+ 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
@@ -299,11 +311,18 @@ module API
end
delete ":id" do
authenticated_as_admin!
+
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
end
desc 'Block a user. Available only for admins.'
@@ -481,6 +500,8 @@ 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
end
@@ -533,6 +554,7 @@ 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
end
@@ -550,6 +572,12 @@ 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