Запрос GraphQL возвращает все по умолчанию, если параметр равен нулю

#graphql #apollo

#graphql #apollo

Вопрос:

У меня простой вопрос, в настоящее время я использую GraphQL / Hasura для подписки на некоторые данные, эта подписка принимает идентификатор в качестве параметра, но в случае, когда идентификатор равен нулю, моя подписка возвращает все данные по умолчанию…

Вот подписка :

 subscription MySubscription($id: Int) {
  dcim_device(where: { virtual_chassis_id: { _eq: $id } }) {
    id
    name
    serial
    site_id
    status
    ip_address {
      address
    }
    dcim_platform {
      name
    }
    device_tags {
      tag_id
      extras_tag {
        id
        name
        color
      }
    }
    dcim_devicerole {
      color
      name
    }
    virtual_chassis_id
    dcim_virtualchassis {
      id
    }
    dcim_interfaces {
      enabled
      name
      id
      type
    }
  }
}
  

И вот Vue.js интерфейсная часть, в которой я вызываю свою подписку с Apollo :

 apollo: {
    $subscribe: {
      dcim_device: {
        query: require("../../graphql/subscribeToNewDevicesByVCid.gql"),
        variables() {
          return {
            id: this.node.dcim_virtualchassis.id,
          };
        },
        result({ data }) {
          this.devices = data.dcim_device;
          console.log(this.devices);
        },
      },
    },
  },
  

Как вы можете видеть, «узел» может меняться в зависимости от щелчка пользователя, и в моем случае некоторые узлы имеют нулевой virtual_chassis_id…

Я хотел бы знать, возможно ли перехватить или что-то в этом роде случай, когда для запроса не заданы параметры, чтобы отобразить что-то еще.

Заранее спасибо!