small refactor + add Sentry.captureException in two catch blocks
This commit is contained in:
parent
f528cedafb
commit
284ab3dbce
|
@ -1,6 +1,7 @@
|
|||
import { useState } from 'react';
|
||||
import { useApolloClient } from '@apollo/client';
|
||||
import { useDebounce } from 'react-use';
|
||||
import * as Sentry from '@sentry/react';
|
||||
import { QUERY_PROFESSIONS } from './queries';
|
||||
import { Profession, Query, QueryProfessionsArgs } from 'libs/graphql/types';
|
||||
|
||||
|
@ -31,7 +32,9 @@ const useSuggestions = () => {
|
|||
if (data.professions?.items) {
|
||||
setSuggestions(data.professions.items);
|
||||
}
|
||||
} catch (e) {}
|
||||
} catch (e) {
|
||||
Sentry.captureException(e);
|
||||
}
|
||||
setIsLoadingSuggestions(false);
|
||||
};
|
||||
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
import { useMemo, useState, useEffect } from 'react';
|
||||
import { useMemo, useState, useEffect, useCallback } from 'react';
|
||||
import { useApolloClient } from '@apollo/client';
|
||||
import { isFunction } from 'lodash';
|
||||
import * as Sentry from '@sentry/react';
|
||||
import { context as Context } from './context';
|
||||
import { AuthContext, User } from './types';
|
||||
import { MutationSignInArgs, Mutation } from 'libs/graphql/types';
|
||||
import TokenStorage from '../tokenstorage/TokenStorage';
|
||||
import { QUERY_ME } from './queries';
|
||||
import { MUTATION_SIGN_IN } from './mutations';
|
||||
import { useCallback } from 'react';
|
||||
|
||||
export interface AuthProviderProps {
|
||||
tokenStorage?: TokenStorage;
|
||||
|
@ -31,17 +31,22 @@ export function AuthProvider(props: AuthProviderProps) {
|
|||
}, [props.tokenStorage]);
|
||||
|
||||
const loadUser = useCallback(async () => {
|
||||
if (tokenStorage.token) {
|
||||
try {
|
||||
const result = await client.query<MeQueryResult>({
|
||||
query: QUERY_ME,
|
||||
fetchPolicy: 'network-only',
|
||||
});
|
||||
if (result.data.me) {
|
||||
setUser(result.data.me);
|
||||
}
|
||||
} catch (e) {}
|
||||
if (!tokenStorage.token) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const result = await client.query<MeQueryResult>({
|
||||
query: QUERY_ME,
|
||||
fetchPolicy: 'network-only',
|
||||
});
|
||||
if (result.data.me) {
|
||||
setUser(result.data.me);
|
||||
}
|
||||
} catch (e) {
|
||||
Sentry.captureException(e);
|
||||
}
|
||||
|
||||
setLoading(false);
|
||||
}, [setUser, setLoading, client, tokenStorage]);
|
||||
|
||||
|
@ -67,22 +72,24 @@ export function AuthProvider(props: AuthProviderProps) {
|
|||
},
|
||||
});
|
||||
|
||||
if (result.data?.signIn?.user) {
|
||||
if (isFunction(validate) && !validate(result.data.signIn.user)) {
|
||||
return null;
|
||||
}
|
||||
tokenStorage.setToken(result.data.signIn.token);
|
||||
setUser(result.data.signIn.user);
|
||||
client.writeQuery<MeQueryResult>({
|
||||
query: QUERY_ME,
|
||||
data: {
|
||||
me: result.data.signIn.user,
|
||||
},
|
||||
});
|
||||
return result.data.signIn.user;
|
||||
if (!result.data?.signIn?.user) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return null;
|
||||
if (isFunction(validate) && !validate(result.data.signIn.user)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
tokenStorage.setToken(result.data.signIn.token);
|
||||
setUser(result.data.signIn.user);
|
||||
client.writeQuery<MeQueryResult>({
|
||||
query: QUERY_ME,
|
||||
data: {
|
||||
me: result.data.signIn.user,
|
||||
},
|
||||
});
|
||||
|
||||
return result.data.signIn.user;
|
||||
};
|
||||
|
||||
const signOut = () => {
|
||||
|
|
Reference in New Issue