From 8cd2121c220b31c61b7936d6c728aae7f7177c4b Mon Sep 17 00:00:00 2001 From: Shravya Ramesh Date: Wed, 28 Apr 2021 07:18:39 -0700 Subject: added get get_badges endpoint and service --- src/services/SuggestedPeopleService.ts | 37 +++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) (limited to 'src/services') diff --git a/src/services/SuggestedPeopleService.ts b/src/services/SuggestedPeopleService.ts index 7f5b4b8c..bdcbc437 100644 --- a/src/services/SuggestedPeopleService.ts +++ b/src/services/SuggestedPeopleService.ts @@ -7,13 +7,18 @@ import { import { ADD_BADGES_ENDPOINT, EDIT_PROFILE_ENDPOINT, + GET_USER_BADGES_ENDPOINT, REMOVE_BADGES_ENDPOINT, SP_MUTUAL_BADGE_HOLDERS_ENDPOINT, SP_UPDATE_PICTURE_ENDPOINT, SP_USERS_ENDPOINT, UPDATE_BADGES_ENDPOINT, } from '../constants/api'; -import {ProfilePreviewType, SuggestedPeopleDataType} from '../types'; +import { + ProfilePreviewType, + SuggestedPeopleDataType, + UniversityBadge, +} from '../types'; import {Alert} from 'react-native'; export const sendSuggestedPeopleLinked = async ( @@ -166,6 +171,31 @@ export const addBadgesService = async ( } }; +export const getBadgesService = async (userId: string) => { + try { + const token = await AsyncStorage.getItem('token'); + const response = await fetch( + GET_USER_BADGES_ENDPOINT + '?user_id=' + userId, + { + method: 'GET', + headers: { + Authorization: 'Token ' + token, + }, + }, + ); + if (response.status === 200) { + const data: UniversityBadge[] = await response.json(); + return data ? data : []; + } else { + console.log('Error loading badges data'); + return []; + } + } catch (error) { + console.log('Exception occued while loading badges data, ', error); + return []; + } +}; + export const updateBadgesService = async ( selectedBadges: string[], university: string, @@ -216,14 +246,15 @@ export const removeBadgesService = async ( }); if (response.status === 400) { Alert.alert(ERROR_BADGES_EXCEED_LIMIT); - return; + return false; } if (response.status === 200) { Alert.alert(SUCCESS_BADGES_UPDATE); - return; + return true; } } catch (error) { console.log(error); Alert.alert(ERROR_UPLOAD_BADGES); + return false; } }; -- cgit v1.2.3-70-g09d2 From 65c7411f4609edac3d4d5f23fc031ed274fc5872 Mon Sep 17 00:00:00 2001 From: Shravya Ramesh Date: Wed, 28 Apr 2021 07:27:36 -0700 Subject: alerts rearranged --- src/screens/badge/BadgeSelection.tsx | 17 +++++++++++++---- src/services/SuggestedPeopleService.ts | 7 ++----- 2 files changed, 15 insertions(+), 9 deletions(-) (limited to 'src/services') diff --git a/src/screens/badge/BadgeSelection.tsx b/src/screens/badge/BadgeSelection.tsx index 66dca509..d0dcfa4c 100644 --- a/src/screens/badge/BadgeSelection.tsx +++ b/src/screens/badge/BadgeSelection.tsx @@ -8,7 +8,10 @@ import LinearGradient from 'react-native-linear-gradient'; import {useDispatch, useSelector} from 'react-redux'; import {BACKGROUND_GRADIENT_MAP} from '../../constants'; import {BADGE_DATA} from '../../constants/badges'; -import {ERROR_BADGES_EXCEED_LIMIT} from '../../constants/strings'; +import { + ERROR_BADGES_EXCEED_LIMIT, + SUCCESS_BADGES_UPDATE, +} from '../../constants/strings'; import {MainStackParams} from '../../routes'; import { addBadgesService, @@ -71,9 +74,15 @@ const BadgeSelection: React.FC = ({route}) => { style={styles.rightButtonContainer} onPress={async () => { if (editing) { - await updateBadgesService(selectedBadges, university); - // Load updated badges to store - loadUserBadges(); + const success = await updateBadgesService( + selectedBadges, + university, + ); + if (success === true) { + // Load updated badges to store + loadUserBadges(); + Alert.alert(SUCCESS_BADGES_UPDATE); + } if (navigation.canGoBack()) { navigation.goBack(); } else { diff --git a/src/services/SuggestedPeopleService.ts b/src/services/SuggestedPeopleService.ts index bdcbc437..2ae8cf55 100644 --- a/src/services/SuggestedPeopleService.ts +++ b/src/services/SuggestedPeopleService.ts @@ -2,7 +2,6 @@ import AsyncStorage from '@react-native-community/async-storage'; import { ERROR_BADGES_EXCEED_LIMIT, ERROR_UPLOAD_BADGES, - SUCCESS_BADGES_UPDATE, } from '../constants/strings'; import { ADD_BADGES_ENDPOINT, @@ -215,11 +214,10 @@ export const updateBadgesService = async ( }); if (response.status === 400) { Alert.alert(ERROR_BADGES_EXCEED_LIMIT); - return; + return false; } if (response.status === 200) { - Alert.alert(SUCCESS_BADGES_UPDATE); - return; + return true; } } catch (error) { console.log(error); @@ -249,7 +247,6 @@ export const removeBadgesService = async ( return false; } if (response.status === 200) { - Alert.alert(SUCCESS_BADGES_UPDATE); return true; } } catch (error) { -- cgit v1.2.3-70-g09d2