Skip to content

Commit fcf8bef

Browse files
committed
Add api v8 endpoint for deleting users
1 parent 3e86cc4 commit fcf8bef

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

app/controllers/api/v8/users_controller.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,28 @@ def update
191191
}, status: :bad_request
192192
end
193193

194+
def destroy
195+
unauthorize_guest! if current_user.guest?
196+
197+
user = User.find(params[:id])
198+
authorize! :destroy, user
199+
200+
if user.destroy
201+
RecentlyChangedUserDetail.where(username: user.login).delete_all
202+
RecentlyChangedUserDetail.deleted.create!(
203+
new_value: true,
204+
email: user.email,
205+
username: user.login,
206+
user_id: user.id
207+
)
208+
Doorkeeper::AccessToken.where(resource_owner_id: user.id).delete_all
209+
210+
render json: { success: true, message: 'User deleted.' }
211+
else
212+
render json: { success: false, errors: user.errors }, status: :bad_request
213+
end
214+
end
215+
194216
def set_password_managed_by_courses_mooc_fi
195217
only_admins!
196218

config/routes.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
resources :recently_changed_user_details, only: :index
5656
end
5757

58-
resources :users, only: %i[show create update] do
58+
resources :users, only: %i[show create update destroy] do
5959
resources :request_deletion, only: [:create], module: :users
6060
resources :assistantships, module: :users, only: :index
6161
resources :teacherships, module: :users, only: :index

0 commit comments

Comments
 (0)