Class: CommandTower::Deserializers::Me::Push::TokenDeserializer

Inherits:
ApplicationDeserializer show all
Defined in:
app/deserializers/command_tower/deserializers/me/push/token_deserializer.rb

Defined Under Namespace

Classes: Input

Constant Summary collapse

EXPO_TOKEN =
CommandTower::Messaging::Endpoints::Validators::Push::EXPO_TOKEN

Instance Method Summary collapse

Methods inherited from ApplicationDeserializer

call

Instance Method Details

#call(params) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/deserializers/command_tower/deserializers/me/push/token_deserializer.rb', line 12

def call(params)
  address = extract(params, :token, :Token, :address, :Address)

  if address.blank?
    return failure(errors: { message: "missing_required_fields" })
  end

  unless address.match?(EXPO_TOKEN)
    return failure(errors: { message: "invalid_push_token" })
  end

  success(Input.new(address:))
end