Class: CommandTower::Deserializers::Admin::Users::UpdateNameDeserializer

Inherits:
CommandTower::Deserializers::ApplicationDeserializer show all
Defined in:
app/deserializers/command_tower/deserializers/admin/users.rb

Defined Under Namespace

Classes: Input

Instance Method Summary collapse

Methods inherited from CommandTower::Deserializers::ApplicationDeserializer

call

Instance Method Details

#call(params) ⇒ Object



92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'app/deserializers/command_tower/deserializers/admin/users.rb', line 92

def call(params)
  id = IdentityId.coerce(fetch_param(params, :id).value)
  return failure(errors: { message: "invalid_id" }) if id.nil?

  first_name = fetch_param(params, :first_name, :firstName).value.to_s.strip
  last_name = fetch_param(params, :last_name, :lastName).value.to_s.strip
  if first_name.blank? || last_name.blank?
    return failure(errors: { message: "missing_required_fields" })
  end

  success(
    Input.new(
      id:,
      first_name:,
      last_name:,
      scope_value: CommandTower::Deserializers::Admin::ScopeParameter.extract(params, tool_id: ShowDeserializer::TOOL_ID)
    )
  )
end