aboutsummaryrefslogtreecommitdiff
path: root/src/services/SuggestedPeopleService.ts
diff options
context:
space:
mode:
authorIvan Chen <ivan@tagg.id>2021-03-12 18:22:52 -0500
committerGitHub <noreply@github.com>2021-03-12 18:22:52 -0500
commit813e9982bed74a9ccbc3b50b7e553ed1b456c93c (patch)
tree5a8d13256be83dd955d2a66a9dc9eebd26ee25c5 /src/services/SuggestedPeopleService.ts
parent8bb3a254e8971428274568acdc969e4df0777409 (diff)
parent82f0448edfee2d1803098085f6710ac1eb7dcb91 (diff)
Merge pull request #292 from IvanIFChen/tma694-edit-badges
[TMA-694] Edit Badges
Diffstat (limited to 'src/services/SuggestedPeopleService.ts')
-rw-r--r--src/services/SuggestedPeopleService.ts62
1 files changed, 61 insertions, 1 deletions
diff --git a/src/services/SuggestedPeopleService.ts b/src/services/SuggestedPeopleService.ts
index d0032458..a65b91ef 100644
--- a/src/services/SuggestedPeopleService.ts
+++ b/src/services/SuggestedPeopleService.ts
@@ -1,11 +1,19 @@
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,
EDIT_PROFILE_ENDPOINT,
SP_MUTUAL_BADGE_HOLDERS_ENDPOINT,
SP_UPDATE_PICTURE_ENDPOINT,
SP_USERS_ENDPOINT,
-} from '../constants';
+ UPDATE_BADGES_ENDPOINT,
+} from '../constants/api';
import {ProfilePreviewType, SuggestedPeopleDataType} from '../types';
+import { Alert } from 'react-native';
export const sendSuggestedPeopleLinked = async (
userId: string,
@@ -119,3 +127,55 @@ export const getMutualBadgeHolders = async () => {
return undefined;
}
};
+
+export const addBadgesService = async (selectedBadges: string[]) => {
+ try {
+ const token = await AsyncStorage.getItem('token');
+ const form = new FormData();
+ form.append('badges', JSON.stringify(selectedBadges));
+ const response = await fetch(ADD_BADGES_ENDPOINT, {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'multipart/form-data',
+ Authorization: 'Token ' + token,
+ },
+ body: form,
+ });
+ if (response.status === 400) {
+ Alert.alert(ERROR_BADGES_EXCEED_LIMIT);
+ return false;
+ }
+ return true;
+ } catch (error) {
+ console.log(error);
+ Alert.alert(ERROR_UPLOAD_BADGES);
+ return false;
+ }
+};
+
+export const updateBadgesService = async (selectedBadges: string[]) => {
+ try {
+ const token = await AsyncStorage.getItem('token');
+ const form = new FormData();
+ form.append('badges', JSON.stringify(selectedBadges));
+ const response = await fetch(UPDATE_BADGES_ENDPOINT, {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'multipart/form-data',
+ Authorization: 'Token ' + token,
+ },
+ body: form,
+ });
+ if (response.status === 400) {
+ Alert.alert(ERROR_BADGES_EXCEED_LIMIT);
+ return;
+ }
+ if (response.status === 200) {
+ Alert.alert(SUCCESS_BADGES_UPDATE);
+ return;
+ }
+ } catch (error) {
+ console.log(error);
+ Alert.alert(ERROR_UPLOAD_BADGES);
+ }
+};