mirror of
https://github.com/roleypoly/roleypoly.git
synced 2025-04-25 03:49:11 +00:00
fix(api): login-callback may have null user in rare cases
This commit is contained in:
parent
823a99b4eb
commit
b7921a830a
1 changed files with 12 additions and 7 deletions
|
@ -69,7 +69,6 @@ export const LoginCallback = resolveFailures(
|
|||
const tokens = (await tokenFetch.json()) as AuthTokenResponse;
|
||||
|
||||
if (!tokens.access_token) {
|
||||
console.info({ tokens });
|
||||
return AuthErrorResponse('token response invalid');
|
||||
}
|
||||
|
||||
|
@ -79,6 +78,10 @@ export const LoginCallback = resolveFailures(
|
|||
getGuilds(tokens.access_token),
|
||||
]);
|
||||
|
||||
if (!user) {
|
||||
return AuthErrorResponse('failed to fetch user');
|
||||
}
|
||||
|
||||
const sessionData: SessionData = {
|
||||
tokens,
|
||||
sessionID: sessionID.string,
|
||||
|
@ -94,12 +97,14 @@ export const LoginCallback = resolveFailures(
|
|||
}
|
||||
);
|
||||
|
||||
const getUser = async (accessToken: string): Promise<DiscordUser> => {
|
||||
const { id, username, discriminator, bot, avatar } = await discordFetch<DiscordUser>(
|
||||
'/users/@me',
|
||||
accessToken,
|
||||
'Bearer'
|
||||
);
|
||||
const getUser = async (accessToken: string): Promise<DiscordUser | null> => {
|
||||
const user = await discordFetch<DiscordUser>('/users/@me', accessToken, 'Bearer');
|
||||
|
||||
if (!user) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const { id, username, discriminator, bot, avatar } = user;
|
||||
|
||||
return { id, username, discriminator, bot, avatar };
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue