upload_pokemon.rb 541 B

1234567891011121314151617181920
  1. # frozen_string_literal: true
  2. module Mutations
  3. class UploadPokemon < Mutations::BaseMutation
  4. argument :base64_encoded_pokemon_file, GraphQL::STRING_TYPE, required: true
  5. field :pokemon, Types::PokemonType, null: true
  6. field :error, Types::ErrorType, null: true
  7. def resolve(base64_encoded_pokemon_file:)
  8. service = CreatePokemonFromBase64Service.new
  9. result = service.execute(base64_encoded_pokemon_file)
  10. {
  11. pokemon: result[:pokemon]&.first,
  12. error: result[:error],
  13. }
  14. end
  15. end
  16. end