* First draft - all the big changes * Changing some more references to 'internal' * Relocate internal request tests to admin * Relocate internal system tests to admin * Fix trailing space * Test fix * Move queries from internal to admin * Docs updates * Rename internal stimuls controllers to admin (plus docs) * Rename admin layout * Fix routing after rebase * Fixes for latest added admin interfaces * Serviceworker ignore paths
20 lines
638 B
Ruby
20 lines
638 B
Ruby
module Admin
|
|
class UsersQuery
|
|
def self.call(relation: User.registered, options: {})
|
|
role, search = options.values_at(:role, :search)
|
|
|
|
relation = relation.with_role(role, :any) if role.presence
|
|
relation = search_relation(relation, search) if search.presence
|
|
|
|
relation.order(created_at: :desc)
|
|
end
|
|
|
|
def self.search_relation(relation, search)
|
|
relation.where("users.name ILIKE :search OR
|
|
users.username ILIKE :search OR
|
|
users.github_username ILIKE :search OR
|
|
users.email ILIKE :search OR
|
|
users.twitter_username ILIKE :search", search: "%#{search.strip}%")
|
|
end
|
|
end
|
|
end
|