upload_pokemon.rb 550 B

1234567891011121314151617181920
  1. # frozen_string_literal: true
  2. module Mutations
  3. class UploadPokemon < Mutations::BaseMutation
  4. include ::ReturnsErrors
  5. field :pokemon, Types::PokemonType, null: true
  6. argument :base64_encoded_pokemon_file, GraphQL::STRING_TYPE, required: true
  7. def resolve(base64_encoded_pokemon_file:)
  8. # Pass in user and other contexts in the future
  9. service = CreatePokemonFromBase64Service.new
  10. result = service.execute(base64_encoded_pokemon_file)
  11. result[:pokemon] = result[:pokemon]&.first
  12. result
  13. end
  14. end
  15. end