CreatePokemon.ts 900 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import {commitMutation, graphql} from 'react-relay';
  2. import {Router} from 'found';
  3. const mutation = graphql`
  4. mutation CreatePokemonMutation($nickname: String!, $pokedexNumber: ID!) {
  5. createPokemon(nickname: $nickname, pokedexNumber: $pokedexNumber) {
  6. pokemon {
  7. id
  8. iid
  9. nickname
  10. pokedexNumber
  11. }
  12. }
  13. }
  14. `;
  15. /* eslint-disable no-console */
  16. export function createPokemon(
  17. environment: any,
  18. router: Router,
  19. nickname: string,
  20. pokedexNumber: number
  21. ): void {
  22. const variables = {
  23. nickname,
  24. pokedexNumber,
  25. };
  26. commitMutation(environment, {
  27. mutation,
  28. variables,
  29. onCompleted: (response, errors): void => {
  30. console.log('Response received from server: ', response);
  31. console.log('Errors received from server: ', errors);
  32. router.push('/pokemon');
  33. },
  34. onError: (err): void => console.error(err),
  35. });
  36. }