docbrown/app/queries/internal/users_query.rb
Guilherme Vinicius Moreira 31c0b388e5
Refactor internal users index (#7457)
* Refactor internal users index

* Add table-hover to users table

* Add users query spec
2020-04-24 17:27:07 -04:00

20 lines
634 B
Ruby

module Internal
class UsersQuery
def self.call(relation: User.all, 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