Class: CommandTower::Deserializers::Admin::Users::UpdateUsernameDeserializer

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



116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# File 'app/deserializers/command_tower/deserializers/admin/users.rb', line 116

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

  username = fetch_param(params, :username).value.to_s.strip
  return failure(errors: { message: "missing_required_fields" }) if username.blank?

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