mirror of
https://github.com/MetaFam/TheGame.git
synced 2026-01-22 20:58:01 -05:00
39 lines
828 B
TypeScript
39 lines
828 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!, $forLoginDisplay: Boolean! = false) {
|
|
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?.[0] ?? null;
|
|
};
|