Class: CommandTower::Deserializers::Admin::Users::UpdateEmailDeserializer

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



136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# File 'app/deserializers/command_tower/deserializers/admin/users.rb', line 136

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

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

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