docbrown/app/queries/admin/gdpr_delete_requests_query.rb
Julianna Tetreault b155749db0
Searchable GDPR Delete Requests Table (#17633)
* Adds search functionality to GDPR delete requests table

* Adds e2e tests for searching GDPR delete requests

* WIP: Address PR review feedback and add a RSpec test

* Updates spec name to include _query

* Updates Adnub::GDPRDeleteRequests#index

* Adjusts expectations within gdpr_delete_requests_query_spec.rb

* Adjusts GDPR Delete Requests Query search default

* Updates gdpr_delete_requests_query_spec.rb
2022-05-31 16:22:25 -06:00

16 lines
517 B
Ruby

module Admin
module GDPRDeleteRequestsQuery
QUERY_CLAUSE = "#{GDPRDeleteRequest.table_name}.email ILIKE :search OR " \
"#{GDPRDeleteRequest.table_name}.username ILIKE :search".freeze
def self.call(relation: ::GDPRDeleteRequest.all, search: {})
relation = search_relation(relation, search) if search.presence
relation.order(created_at: :desc)
end
def self.search_relation(relation, search)
relation.where(QUERY_CLAUSE, search: "%#{search}%")
end
end
end