aboutsummaryrefslogtreecommitdiff
path: root/src/services
diff options
context:
space:
mode:
Diffstat (limited to 'src/services')
-rw-r--r--src/services/api/api.service.js21
-rw-r--r--src/services/backend_interactor_service/backend_interactor_service.js10
2 files changed, 31 insertions, 0 deletions
diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js
index a78ab5c9..87a7e2e5 100644
--- a/src/services/api/api.service.js
+++ b/src/services/api/api.service.js
@@ -13,6 +13,9 @@ const MEDIA_UPLOAD_URL = '/api/statusnet/media/upload'
const CONVERSATION_URL = '/api/statusnet/conversation'
const MENTIONS_URL = '/api/statuses/mentions.json'
const FRIENDS_URL = '/api/statuses/friends.json'
+const FOLLOWING_URL = '/api/friendships/create.json'
+const UNFOLLOWING_URL = '/api/friendships/destroy.json'
+// const USER_URL = '/api/users/show.json'
const oldfetch = window.fetch
@@ -30,6 +33,22 @@ const authHeaders = (user) => {
}
}
+const followUser = ({id, credentials}) => {
+ let url = `${FOLLOWING_URL}?user_id=${id}`
+ return fetch(url, {
+ headers: authHeaders(credentials),
+ method: 'POST'
+ }).then((data) => data.json())
+}
+
+const unfollowUser = ({id, credentials}) => {
+ let url = `${UNFOLLOWING_URL}?user_id=${id}`
+ return fetch(url, {
+ headers: authHeaders(credentials),
+ method: 'POST'
+ }).then((data) => data.json())
+}
+
const fetchFriends = ({credentials}) => {
return fetch(FRIENDS_URL, { headers: authHeaders(credentials) })
.then((data) => data.json())
@@ -143,6 +162,8 @@ const apiService = {
fetchStatus,
fetchMentions,
fetchFriends,
+ followUser,
+ unfollowUser,
favorite,
unfavorite,
retweet,
diff --git a/src/services/backend_interactor_service/backend_interactor_service.js b/src/services/backend_interactor_service/backend_interactor_service.js
index 36a1ff3b..746776bf 100644
--- a/src/services/backend_interactor_service/backend_interactor_service.js
+++ b/src/services/backend_interactor_service/backend_interactor_service.js
@@ -17,11 +17,21 @@ const backendInteractorService = (credentials) => {
return apiService.fetchFriends({credentials})
}
+ const followUser = (id) => {
+ return apiService.followUser({credentials, id})
+ }
+
+ const unfollowUser = (id) => {
+ return apiService.unfollowUser({credentials, id})
+ }
+
const backendInteractorServiceInstance = {
fetchStatus,
fetchConversation,
fetchMentions,
fetchFriends,
+ followUser,
+ unfollowUser,
verifyCredentials: apiService.verifyCredentials
}