diff options
Diffstat (limited to 'src/utils/users.ts')
-rw-r--r-- | src/utils/users.ts | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/src/utils/users.ts b/src/utils/users.ts index c54ea715..ca917ae4 100644 --- a/src/utils/users.ts +++ b/src/utils/users.ts @@ -1,6 +1,6 @@ import AsyncStorage from '@react-native-community/async-storage'; import {INTEGRATED_SOCIAL_LIST} from '../constants'; -import {loadSocialPosts} from '../services'; +import {isUserBlocked, loadSocialPosts} from '../services'; import { loadAllSocials, loadBlockedList, @@ -9,6 +9,7 @@ import { loadUserData, loadUserMoments, loadUserNotifications, + logout, } from '../store/actions'; import {NO_SOCIAL_ACCOUNTS} from '../store/initialStates'; import {userLoggedIn} from '../store/reducers'; @@ -16,7 +17,12 @@ import {loadUserMomentCategories} from './../store/actions/momentCategories'; import {loadUserX} from './../store/actions/userX'; import {AppDispatch} from './../store/configureStore'; import {RootState} from './../store/rootReducer'; -import {ScreenType, UserType} from './../types/types'; +import { + ProfilePreviewType, + ProfileType, + ScreenType, + UserType, +} from './../types/types'; const loadData = async (dispatch: AppDispatch, user: UserType) => { await Promise.all([ @@ -122,3 +128,34 @@ export const getTokenOrLogout = async (dispatch: Function): Promise<string> => { } return token; }; + +/** + * Creates ProfilePreviewType of a user using UserType && ProfileType + * @param passedInUser This is the UserType of the user + * @param passedInProfile This is the ProfileType of the user + */ +export const getUserAsProfilePreviewType = ( + passedInUser: UserType, + passedInProfile: ProfileType, +): ProfilePreviewType => { + const fullName = passedInProfile.name.split(' '); + return { + id: passedInUser.userId, + username: passedInUser.username, + first_name: fullName[0], + last_name: fullName[1], + }; +}; + +export const checkIfUserIsBlocked = async ( + userId: string, + dispatch: Function, + loggedInUser: UserType, +) => { + const token = await AsyncStorage.getItem('token'); + if (!token) { + dispatch(logout()); + return false; + } + return await isUserBlocked(userId, loggedInUser.userId, token); +}; |