Use application finder for Doorkeeper Applications
This commit is contained in:
parent
c47aea7576
commit
1ae9aefe55
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue