Class: Monban::UseCase::Account::Search

Inherits:
Base
  • Object
show all
Defined in:
lib/monban/use_case/account/search.rb

Instance Method Summary collapse

Instance Method Details

#search(params) ⇒ Object

:nocov:



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/monban/use_case/account/search.rb', line 20

def search(params)
  Getto::Params.new.validate(params) do |v|
    v.hash(
      page: v.string{|val| param_error!(page: val) },
      sort: v.in([
        "login_id.asc",
        "login_id.desc",
      ]){|val| param_error!(sort: val) },
      query: v.hash(
        "login_id.cont" => v.string{|val| param_error!("login_id.cont": val) },
      ),
    )
  end or param_error!(params: params)


  repository.search(**(Getto::Params::Search.new(**params, limit: limit).to_h do |search|
    search.sort do |s|
      s.straight :login_id
    end
    search.query do |q|
      q.search "login_id.cont", &q.not_empty
    end
  end.to_h))
end