diff options
Diffstat (limited to 'src/services')
| -rw-r--r-- | src/services/UserFriendsService.ts | 65 | ||||
| -rw-r--r-- | src/services/UserProfileService.ts | 2 |
2 files changed, 50 insertions, 17 deletions
diff --git a/src/services/UserFriendsService.ts b/src/services/UserFriendsService.ts index deb3ec6d..453f35a5 100644 --- a/src/services/UserFriendsService.ts +++ b/src/services/UserFriendsService.ts @@ -1,7 +1,9 @@ import AsyncStorage from '@react-native-community/async-storage'; import {Alert} from 'react-native'; import { + CREATE_INVITE_CODE, FRIENDS_ENDPOINT, + GET_REMAINING_INVITES, INVITE_FRIEND_ENDPOINT, USERS_FROM_CONTACTS_ENDPOINT, } from '../constants'; @@ -220,23 +222,54 @@ export const inviteFriendService = async ( inviteeFirstName: string, inviteeLastName: string, ) => { - const token = await AsyncStorage.getItem('token'); - const response = await fetch(INVITE_FRIEND_ENDPOINT, { - method: 'POST', - headers: { - Authorization: 'Token ' + token, - }, - body: JSON.stringify({ - invitee_phone_number: phoneNumber, - invitee_first_name: inviteeFirstName, - invitee_last_name: inviteeLastName, - }), - }); - if (response.status === 201 || response.status === 200) { + try { + const token = await AsyncStorage.getItem('token'); + const response = await fetch(INVITE_FRIEND_ENDPOINT, { + method: 'POST', + headers: { + Authorization: 'Token ' + token, + }, + body: JSON.stringify({ + invitee_phone_number: phoneNumber, + invitee_first_name: inviteeFirstName, + invitee_last_name: inviteeLastName, + }), + }); + return response.status === 201 || response.status === 200; + } catch (error) { + console.log(error); + Alert.alert(ERROR_SOMETHING_WENT_WRONG_REFRESH); + return false; + } +}; + +export const handleCreateInviteCode = async () => { + const response = await fetch(CREATE_INVITE_CODE, {method: 'POST'}); + if (response.status === 200) { const data = await response.json(); - return data.invites_left; - } else if (response.status === 400) { + return data.code; + } else if (response.status === 500) { return -1; } - return false; +}; + +export const getRemainingInviteCount = async () => { + const token = await AsyncStorage.getItem('token'); + try { + const response = await fetch(GET_REMAINING_INVITES, { + method: 'GET', + headers: { + Authorization: 'Token ' + token, + }, + }); + if (response.status === 200) { + const data = await response.json(); + return data.invites_left; + } else if (response.status === 500) { + return -1; + } + } catch (error) { + console.log(error); + Alert.alert(ERROR_SOMETHING_WENT_WRONG_REFRESH); + } }; diff --git a/src/services/UserProfileService.ts b/src/services/UserProfileService.ts index 8b7b78e1..624f0e2a 100644 --- a/src/services/UserProfileService.ts +++ b/src/services/UserProfileService.ts @@ -442,7 +442,7 @@ export const verifyExistingInformation = async ( const form = new FormData(); if (email) { form.append('email', email); - } + } if (username) { form.append('username', username); } |
