mirror of
https://github.com/MetaFam/TheGame.git
synced 2026-02-10 05:55:23 -05:00
38 lines
815 B
TypeScript
38 lines
815 B
TypeScript
import gql from 'fake-tag';
|
|
|
|
import {
|
|
GetPlayerQuery,
|
|
GetPlayerQueryVariables,
|
|
PlayerFragmentFragment,
|
|
} from './autogen/types';
|
|
import { client } from './client';
|
|
import { PlayerFragment } from './fragments';
|
|
|
|
const playerQuery = gql`
|
|
query GetPlayer($username: String!) {
|
|
player(where: { username: { _eq: $username } }) {
|
|
...PlayerFragment
|
|
}
|
|
}
|
|
${PlayerFragment}
|
|
`;
|
|
|
|
export const getPlayer = async (
|
|
username: string | undefined,
|
|
): Promise<PlayerFragmentFragment | null> => {
|
|
if (!username) return null;
|
|
const { data, error } = await client
|
|
.query<GetPlayerQuery, GetPlayerQueryVariables>(playerQuery, { username })
|
|
.toPromise();
|
|
|
|
if (!data) {
|
|
if (error) {
|
|
throw error;
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
return data?.player?.length > 0 ? data.player[0] : null;
|
|
};
|