Class: CommandTower::Deserializers::Admin::Users::ListDeserializer
- Inherits:
-
CommandTower::Deserializers::ApplicationDeserializer
- Object
- CommandTower::Deserializers::ApplicationDeserializer
- CommandTower::Deserializers::Admin::Users::ListDeserializer
- Defined in:
- app/deserializers/command_tower/deserializers/admin/users.rb
Defined Under Namespace
Classes: Input
Constant Summary collapse
- DEFAULT_LIMIT =
50- MAX_LIMIT =
100- MAX_SEARCH_LENGTH =
100- TOOL_ID =
"users"
Instance Method Summary collapse
Methods inherited from CommandTower::Deserializers::ApplicationDeserializer
Instance Method Details
#call(params) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'app/deserializers/command_tower/deserializers/admin/users.rb', line 30 def call(params) limit = pagination_integer( fetch_param(params, :limit).value, default: DEFAULT_LIMIT, minimum: 1, maximum: MAX_LIMIT ) return failure(errors: { message: "invalid_limit" }) if limit.nil? offset = pagination_integer(fetch_param(params, :offset).value, default: 0, minimum: 0) return failure(errors: { message: "invalid_offset" }) if offset.nil? search = optional_search(fetch_param(params, :search).value) return search if deserializer_result?(search) scope_value = CommandTower::Deserializers::Admin::ScopeParameter.extract(params, tool_id: TOOL_ID) success(Input.new(limit:, offset:, search:, scope_value:)) end |