Files
TheGame/packages/web/graphql/getPlayers.ts
2020-08-17 14:25:04 -06:00

31 lines
653 B
TypeScript

import gql from 'fake-tag';
import { GetPlayersQuery, GetPlayersQueryVariables } from './autogen/types';
import { client } from './client';
import { PlayerFragment } from './fragments';
const playersQuery = gql`
query GetPlayers($limit: Int) {
Player(order_by: { totalXp: desc }, limit: $limit) {
...PlayerFragment
}
}
${PlayerFragment}
`;
export const getPlayers = async (limit = 50) => {
const { data, error } = await client
.query<GetPlayersQuery, GetPlayersQueryVariables>(playersQuery, { limit })
.toPromise();
if (!data) {
if (error) {
throw error;
}
return [];
}
return data.Player;
};