diff options
Diffstat (limited to 'src/utils/messages.ts')
-rw-r--r-- | src/utils/messages.ts | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/src/utils/messages.ts b/src/utils/messages.ts index 1c83ca9f..6b972b83 100644 --- a/src/utils/messages.ts +++ b/src/utils/messages.ts @@ -1,7 +1,6 @@ import AsyncStorage from '@react-native-community/async-storage'; import moment from 'moment'; -// import {updateChatClientReady} from '../store/actions'; -import {AppDispatch} from '../store/configureStore'; +import {loadChatTokenService} from '../services/ChatService'; import {RootState} from '../store/rootReducer'; import {ChannelGroupedType} from '../types'; @@ -88,17 +87,35 @@ export const getMember = ( export const connectChatAccount = async ( loggedInUserId: string, chatClient, - dispatch: AppDispatch, ) => { try { + await getChatToken(); const chatToken = await AsyncStorage.getItem('chatToken'); - await chatClient.connectUser( - { - id: loggedInUserId, - }, - chatToken, - ); + if (chatToken) { + await chatClient.connectUser( + { + id: loggedInUserId, + }, + chatToken, + ); + return true; + } else { + console.log('Unable to connect to stream. Empty chat token'); + return false; + } } catch (err) { console.log('Error while connecting user to Stream: ', err); + return false; + } +}; + +export const getChatToken = async () => { + try { + if (await AsyncStorage.getItem('chatToken')) { + const chatToken = await loadChatTokenService(); + AsyncStorage.setItem('chatToken', chatToken); + } + } catch (err) { + console.log(err); } }; |