Axel
05/22/2023, 9:48 AMrp_st
05/22/2023, 9:53 AMAxel
05/22/2023, 9:53 AMrp_st
05/22/2023, 9:53 AMrp_st
05/22/2023, 9:53 AMAxel
05/22/2023, 9:53 AMrp_st
05/22/2023, 9:53 AMAxel
05/22/2023, 9:54 AMimport {useCallback} from 'react';
import SuperTokens from 'supertokens-react-native';
interface InitUserSession {
session: boolean;
userId: string;
}
export default function useGetSuperTokensDataHook() {
const _onError = useCallback((err: unknown) => {
console.error(err);
throw new Error('Error in initUserSession');
}, []);
const getSuperTokensData = useCallback(async (): Promise<
InitUserSession | undefined
> => {
try {
const data = await SuperTokens?.getAccessToken();
console.log('accesstoken--->', data);
//Get the data we require from supertokens
const session = await SuperTokens.attemptRefreshingSession();
const userId = await SuperTokens.getUserId();
if (!session) {
throw new Error('no session');
}
if (!userId) {
throw new Error('no connected user');
}
//return successfull promise
return {session, userId};
} catch (err) {
_onError(err);
}
}, [_onError]);
return {
getSuperTokensData,
};
}
rp_st
05/22/2023, 9:55 AMAxel
05/22/2023, 9:55 AMimport {BACKEND_URL, SUPERTOKENS_COOKIE_DOMAIN} from '@lib/api.config';
import SuperTokens from 'supertokens-react-native';
export function initSuperTokens() {
SuperTokens.init({
apiDomain: BACKEND_URL,
sessionTokenBackendDomain: SUPERTOKENS_COOKIE_DOMAIN,
});
}
nkshah2
05/22/2023, 10:21 AMAxel
05/22/2023, 10:29 AMnkshah2
05/22/2023, 10:31 AMnkshah2
05/22/2023, 10:38 AM