summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJB Vasseur <jvasseur@gmail.com>2018-10-15 23:03:08 +0900
committerJB Vasseur <jvasseur@gmail.com>2018-10-15 23:03:08 +0900
commit1ae9aefe5572cc62256f28e16163015f075b6c59 (patch)
tree0f9da6ffd350d58ce5e3085859222f7236d1e113
parentc47aea75766fe3165cc9530fc9ccb5a4ac615e46 (diff)
downloadgitlab-ce-1ae9aefe5572cc62256f28e16163015f075b6c59.tar.gz
Use application finder for Doorkeeper Applications
-rw-r--r--app/finders/applications_finder.rb26
-rw-r--r--lib/api/applications.rb9
2 files changed, 29 insertions, 6 deletions
diff --git a/app/finders/applications_finder.rb b/app/finders/applications_finder.rb
new file mode 100644
index 00000000000..14bd35105d2
--- /dev/null
+++ b/app/finders/applications_finder.rb
@@ -0,0 +1,26 @@
+# frozen_string_literal: true
+
+class ApplicationsFinder
+ attr_reader :params
+
+ def initialize(params = {})
+ @params = params
+ end
+
+ # rubocop: disable CodeReuse/ActiveRecord
+ def execute
+ applications = Doorkeeper::Application.where("owner_id IS NULL")
+ by_id(applications)
+ end
+ # rubocop: enable CodeReuse/ActiveRecord
+
+ private
+
+ # rubocop: disable CodeReuse/ActiveRecord
+ def by_id(applications)
+ return applications unless params[:id]
+
+ Doorkeeper::Application.find_by(id: params[:id])
+ end
+ # rubocop: enable CodeReuse/ActiveRecord
+end
diff --git a/lib/api/applications.rb b/lib/api/applications.rb
index 9d0f7a093d5..92717e04543 100644
--- a/lib/api/applications.rb
+++ b/lib/api/applications.rb
@@ -25,24 +25,21 @@ module API
end
end
- # rubocop: disable CodeReuse/ActiveRecord
desc 'Get applications' do
success Entities::Application
end
get do
- applications = Doorkeeper::Application.where("owner_id IS NULL")
+ applications = ApplicationsFinder.new.execute
present applications, with: Entities::Application
end
- # rubocop: enable CodeReuse/ActiveRecord
- # rubocop: disable CodeReuse/ActiveRecord
desc 'Delete an application'
delete ':id' do
- Doorkeeper::Application.find_by(id: params[:id]).destroy
+ application = ApplicationsFinder.new(params).execute
+ application.destroy
status 204
end
- # rubocop: enable CodeReuse/ActiveRecord
end
end
end