aboutsummaryrefslogtreecommitdiff
path: root/src/utils/messages.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/messages.ts')
-rw-r--r--src/utils/messages.ts35
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);
}
};