# frozen_string_literal: true class Mutations::CreatePokemon < Mutations::BaseMutation graphql_name 'CreatePokemon' argument :pokedex_number, GraphQL::ID_TYPE, required: true argument :nickname, GraphQL::STRING_TYPE, required: false field :pokemon, Types::PokemonType, null: true field :errors, [GraphQL::STRING_TYPE], null: false def resolve(nickname: nil, pokedex_number:) pkmn = Pokemon.new(nickname: nickname, pokedex_number: pokedex_number) if pkmn.save { pokemon: pkmn, errors: [], } else { pokemon: nil, errors: pkmn.errors.full_messages, } end end end