Example #1
0
export async function fetchStatuses() {
  const res = await query<Pick<CUQuery, 'status'>>({
    query: '',
    namedQuery: 'statusEffects',
    operationName: null,
    variables: null,
  }, HUDGraphQLQueryConfig());
  return {
    ...res,
    data: res.data && res.data.status ? res.data.status.statuses : [],
    refetch: fetchStatuses,
  };
}
Example #2
0
export async function fetchSkills(): Promise<HUDGraphQLQueryResult<Skill[]>> {
  const res = await query<Pick<CUQuery, 'myCharacter'>>({
    query: skillsQuery,
    operationName: null,
    namedQuery: null,
    variables: {},
  }, HUDGraphQLQueryConfig());
  return {
    ...res,
    data: res.data && res.data.myCharacter ? res.data.myCharacter.skills : [],
    refetch: fetchSkills,
  };
}
Example #3
0
export async function fetchItemDefRefs() {
  const res = await query<Pick<CUQuery, 'game'>>({
    query: itemDefRefsQuery,
    operationName: null,
    namedQuery: null,
    variables: {},
  }, HUDGraphQLQueryConfig());

  return {
    ...res,
    data: res.data && res.data.game ? res.data.game.items : [],
    refetch: fetchItemDefRefs,
  };
}
export function gqlQuery(q: GraphQLQuery, options: RequestOptions = {}) {
  const requestOptions: RequestOptions = {
    headers: Object.assign({
      'api-version': `${game.apiVersion}`,
      'Content-Type': 'application/json',
      Authorization: `Bearer ${game.accessToken}`,
      characterId: game.selfPlayerState.characterID,
      shardId: `${game.shardID}`,
      Accept: 'application/json',
    }, options.headers),
  };
  return query(q, {
    url: game.webAPIHost + '/graphql',
    requestOptions,
  });
}