aboutsummaryrefslogtreecommitdiff
path: root/src/services/api/api.service.js
diff options
context:
space:
mode:
authortaehoon <th.dev91@gmail.com>2019-02-24 03:02:04 -0500
committertaehoon <th.dev91@gmail.com>2019-03-21 16:19:03 -0400
commit3255950b0e9a16f2a477d606b91d90bed8a6cef7 (patch)
treefd6d288c90d4dabe5d643bacc41b0275b6f04c55 /src/services/api/api.service.js
parent66e60572bc5f3f35a902417547c1d38e3665fbb7 (diff)
Add mute/unmute featrue and mutes management tab
Diffstat (limited to 'src/services/api/api.service.js')
-rw-r--r--src/services/api/api.service.js44
1 files changed, 40 insertions, 4 deletions
diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js
index 176f1c18..92abf94b 100644
--- a/src/services/api/api.service.js
+++ b/src/services/api/api.service.js
@@ -1,3 +1,5 @@
+import { generateUrl } from '../../utils/url'
+
/* eslint-env browser */
const LOGIN_URL = '/api/account/verify_credentials.json'
const FRIENDS_TIMELINE_URL = '/api/statuses/friends_timeline.json'
@@ -19,6 +21,9 @@ const DM_TIMELINE_URL = '/api/statuses/dm_timeline.json'
const FOLLOWERS_URL = '/api/statuses/followers.json'
const FRIENDS_URL = '/api/statuses/friends.json'
const BLOCKS_URL = '/api/statuses/blocks.json'
+const MUTES_URL = '/api/v1/mutes.json'
+const MUTING_URL = '/api/v1/accounts/:id/mute'
+const UNMUTING_URL = '/api/v1/accounts/:id/unmute'
const FOLLOWING_URL = '/api/friendships/create.json'
const UNFOLLOWING_URL = '/api/friendships/destroy.json'
const QVITTER_USER_PREF_URL = '/api/qvitter/set_profile_pref.json'
@@ -538,14 +543,43 @@ const changePassword = ({credentials, password, newPassword, newPasswordConfirma
}
const fetchMutes = ({credentials}) => {
- const url = '/api/qvitter/mutes.json'
+ return fetch(MUTES_URL, {
+ headers: authHeaders(credentials)
+ }).then((data) => {
+ if (data.ok) {
+ return data.json()
+ }
+ throw new Error('Error fetching mutes', data)
+ })
+}
+const muteUser = ({id, credentials}) => {
+ const url = generateUrl(MUTING_URL, { id })
return fetch(url, {
- headers: authHeaders(credentials)
- }).then((data) => data.json())
+ headers: authHeaders(credentials),
+ method: 'POST'
+ }).then((data) => {
+ if (data.ok) {
+ return data.json()
+ }
+ throw new Error('Error muting', data)
+ })
+}
+
+const unmuteUser = ({id, credentials}) => {
+ const url = generateUrl(UNMUTING_URL, { id })
+ return fetch(url, {
+ headers: authHeaders(credentials),
+ method: 'POST'
+ }).then((data) => {
+ if (data.ok) {
+ return data.json()
+ }
+ throw new Error('Error unmuting', data)
+ })
}
-const fetchBlocks = ({page, credentials}) => {
+const fetchBlocks = ({credentials}) => {
return fetch(BLOCKS_URL, {
headers: authHeaders(credentials)
}).then((data) => {
@@ -620,6 +654,8 @@ const apiService = {
fetchAllFollowing,
setUserMute,
fetchMutes,
+ muteUser,
+ unmuteUser,
fetchBlocks,
fetchOAuthTokens,
revokeOAuthToken,