typescript - Angular, GraphQL a Apollo - Odoslať formulárové dáta s GraphQL Subscription


Pracujem na aplikácii Angular s GraphQL a Apollo, ktorá zobrazuje údaje z môjho lokálneho GraphQL API.

Okrem toho pracujem na formulári, ktorý umožňuje používateľom pridávať nové údaje do API, ale nie som si istý, či tu používam správny prístup.

Momentálne dostávam túto chybu:

ERROR TypeError: Converting circular structure to JSON

Teraz ti ukážem príslušný kód.

form.component.html

Toto je HTML formulár, ktorý pristupuje k funkcii onSubmit.

 <button type="submit" (click)="onSubmit()" [disabled]="!personForm.valid" id="buttonSubmit" mat-raised-button color="accent"class="floated">Send</button>

form.component.ts

Tu používam this.apollo.mutate na odber nových údajov z API

onSubmit(formDirective) 
  {
    let surname =  this.personForm.get('surname');
    let name =  this.personForm.get('name');
    let email =  this.personForm.get('email');
    let status =  this.personForm.get('status');
    let activity =  this.personForm.get('activity');

    this.apollo.mutate<CreateUserMutationResponse>({
      mutation: CREATE_USER_MUTATION,
      variables: {
        surname: surname,
        name: name,
        email: email,
        status: status,
        activity: activity
      }
    }).subscribe((response) => {

    });

    console.log('submitted');

  }

types.ts

export type User = {
    surname: string;
    name: string;
    email: string;
    status: string;
    activity: string;
  }

  export type Query = {
      users: User[];
  }

  export const CREATE_USER_MUTATION = gql`
  mutation CreateUserMutation($surname: String!, $name: String!, $email: String!, $status: String!, $activity: String!) {
    createUser(surname: $surname, name: $name, email: $email, status: $status, activity: $activity) {
        surname
        name
        email
        status
        activity
    }
  }
`;

  export interface CreateUserMutationResponse {
    createUser: User;
  }

Každá rada správnym smerom by bola veľmi oceniteľná, ďakujem!