aboutsummaryrefslogtreecommitdiff
path: root/src/services/BlockUserService.ts
diff options
context:
space:
mode:
authorAshm Walia <40498934+ashmgarv@users.noreply.github.com>2020-11-10 16:28:15 -0800
committerGitHub <noreply@github.com>2020-11-10 19:28:15 -0500
commit3362da273a4ffcc7d6362278bcb9fd919deda2b9 (patch)
tree6df5f6a0585fc327b0f378851f770b6d31aefebe /src/services/BlockUserService.ts
parent9f048868f560dbd1672c1a504deb383ec601589e (diff)
[TMA - 388] Block Users (Frontend) (#115)
* initial * Final * sc * sc * sall change * Remove follow button when blocked * Small change * small changes again
Diffstat (limited to 'src/services/BlockUserService.ts')
-rw-r--r--src/services/BlockUserService.ts98
1 files changed, 98 insertions, 0 deletions
diff --git a/src/services/BlockUserService.ts b/src/services/BlockUserService.ts
new file mode 100644
index 00000000..56243729
--- /dev/null
+++ b/src/services/BlockUserService.ts
@@ -0,0 +1,98 @@
+//Abstracted common block user api calls out here
+
+import {Alert} from 'react-native';
+import {BLOCK_USER_ENDPOINT} from '../constants';
+
+export const loadBlockedUsers = async (
+ userId: string,
+ token: string,
+ callback: Function,
+) => {
+ try {
+ const response = await fetch(BLOCK_USER_ENDPOINT + `?user_id=${userId}`, {
+ method: 'GET',
+ headers: {
+ Authorization: 'Token ' + token,
+ },
+ });
+ if (response.status === 200) {
+ const body = await response.json();
+ callback(body);
+ } else {
+ throw new Error(await response.json());
+ }
+ } catch (error) {
+ console.log(error);
+ }
+};
+
+export const blockOrUnblockUser = async (
+ blocker: string,
+ blocked: string,
+ token: string,
+ isBlocked: boolean,
+) => {
+ try {
+ const endpoint = BLOCK_USER_ENDPOINT + (isBlocked ? `${blocker}/` : '');
+
+ const response = await fetch(endpoint, {
+ method: isBlocked ? 'DELETE' : 'POST',
+ headers: {
+ Authorization: 'Token ' + token,
+ },
+ body: JSON.stringify({
+ blocked,
+ }),
+ });
+ if (Math.floor(response.status / 100) === 2) {
+ return true;
+ } else {
+ console.log(await response.json());
+ Alert.alert(
+ 'Something went wrong! 😭',
+ "Would you believe me if I told you that I don't know what happened?",
+ );
+ return false;
+ }
+ } catch (error) {
+ console.log(error);
+ Alert.alert(
+ 'Something went wrong! 😭',
+ "Would you believe me if I told you that I don't know what happened?",
+ );
+ return false;
+ }
+};
+
+export const isUserBlocked = async (
+ blocker: string,
+ blocked: string,
+ token: string,
+) => {
+ try {
+ const ext = `${blocked}/?blocker=${blocker}`;
+
+ const response = await fetch(BLOCK_USER_ENDPOINT + ext, {
+ method: 'GET',
+ headers: {
+ Authorization: 'Token ' + token,
+ },
+ });
+
+ if (Math.floor(response.status / 100) === 2) {
+ const data = await response.json();
+ return data['is_blocked'];
+ } else {
+ console.log(await response.json());
+ Alert.alert(
+ 'Something went wrong! 😭',
+ "Would you believe me if I told you that I don't know what happened?",
+ );
+ }
+ } catch (error) {
+ Alert.alert(
+ 'Something went wrong! 😭',
+ "Would you believe me if I told you that I don't know what happened?",
+ );
+ }
+};