aboutsummaryrefslogtreecommitdiff
path: root/src/services/UserFriendsService.ts
diff options
context:
space:
mode:
authorIvan Chen <ivan@tagg.id>2021-05-13 17:55:46 -0400
committerGitHub <noreply@github.com>2021-05-13 17:55:46 -0400
commit848afa989c2a0c324b65778dc05e03b7856f62c3 (patch)
tree40a733f00132451a583e7c6cae6a40bff25d8344 /src/services/UserFriendsService.ts
parent36a26cc7716913e8b243553169ae91588bc8e413 (diff)
parent8db9bb83850e8e368700cb9006b8666741360653 (diff)
Merge pull request #419 from grusuTagg/tma843-fix-invite-system
[TMA-860] Added Individual SMS Invite Functionality
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);
+ }
};