aboutsummaryrefslogtreecommitdiff
path: root/src/services/UserFriendsService.ts
diff options
context:
space:
mode:
authorGeorge Rusu <george@tagg.id>2021-05-13 13:46:19 -0700
committerGeorge Rusu <george@tagg.id>2021-05-13 13:46:19 -0700
commit10c3fc8fa7e01105bcde394ef9629b40541f60ff (patch)
tree7e729808b7282421627846db74b02a09ea00fa10 /src/services/UserFriendsService.ts
parent3cfad768bc7d2369ff49d1b57771ac317dbae71e (diff)
simplified call to backend and refactored into service file
Diffstat (limited to 'src/services/UserFriendsService.ts')
-rw-r--r--src/services/UserFriendsService.ts65
1 files changed, 49 insertions, 16 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);
+ }
};