* 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
16 lines
517 B
Ruby
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
|