# frozen_string_literal: true module Mutations class UploadPokemon < Mutations::BaseMutation argument :base64_encoded_pokemon_file, GraphQL::STRING_TYPE, required: true field :pokemon, Types::PokemonType, null: true field :error, Types::ErrorType, null: true def resolve(base64_encoded_pokemon_file:) service = CreatePokemonFromBase64Service.new result = service.execute(base64_encoded_pokemon_file) { pokemon: result[:pokemon]&.first, error: result[:error], } end end end