aboutsummaryrefslogtreecommitdiff
path: root/src/services/api/api.service.js
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2019-06-13 00:07:28 +0300
committerHenry Jameson <me@hjkos.com>2019-06-13 00:07:28 +0300
commit77511a5338a36e824b2521ea972d654517d2aed0 (patch)
tree428bde231ecc98cbe18153904d9a9aeba75e3be2 /src/services/api/api.service.js
parente7a2a7267dbd8a4ee3d266d22249459d028569d6 (diff)
parent9df99c5205b1cb560bb25c0dd81cc90acbde4d7f (diff)
Merge remote-tracking branch 'upstream/develop' into masto-register-app-secret
* upstream/develop: Apply suggestion to src/services/entity_normalizer/entity_normalizer.service.js i18n/Update Japanese translation render modal at the root level using portal install portal vue Small improve of the who to follow panel layout Fix/Small fix in the who to follow page remove console spam i18n wire up user.description with masto api data i18n/Add Japanese with kanji (2) move drowdown menu to popper notification controls: redesign entirely entity normalizer: collapse data.pleroma if blocks wire up notification settings do not miss statusnet_profile_url of mentions Translation to Hebrew of everything other than theme_helpers and style. Translate up to settings. mastoapi login works
Diffstat (limited to 'src/services/api/api.service.js')
-rw-r--r--src/services/api/api.service.js25
1 files changed, 21 insertions, 4 deletions
diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js
index 559eb25d..7ffc8ff1 100644
--- a/src/services/api/api.service.js
+++ b/src/services/api/api.service.js
@@ -1,5 +1,4 @@
/* eslint-env browser */
-const LOGIN_URL = '/api/account/verify_credentials.json'
const BG_UPDATE_URL = '/api/qvitter/update_background_image.json'
const EXTERNAL_PROFILE_URL = '/api/externalprofile/show.json'
const QVITTER_USER_NOTIFICATIONS_READ_URL = '/api/qvitter/statuses/notifications/read.json'
@@ -15,7 +14,9 @@ const PERMISSION_GROUP_URL = (screenName, right) => `/api/pleroma/admin/users/${
const ACTIVATION_STATUS_URL = screenName => `/api/pleroma/admin/users/${screenName}/activation_status`
const ADMIN_USERS_URL = '/api/pleroma/admin/users'
const SUGGESTIONS_URL = '/api/v1/suggestions'
+const NOTIFICATION_SETTINGS_URL = '/api/pleroma/notification_settings'
+const MASTODON_LOGIN_URL = '/api/v1/accounts/verify_credentials'
const MASTODON_REGISTRATION_URL = '/api/v1/accounts'
const MASTODON_USER_FAVORITES_TIMELINE_URL = '/api/v1/favourites'
const MASTODON_USER_NOTIFICATIONS_URL = '/api/v1/notifications'
@@ -97,6 +98,21 @@ const promisedRequest = ({ method, url, payload, credentials, headers = {} }) =>
})
}
+const updateNotificationSettings = ({credentials, settings}) => {
+ const form = new FormData()
+
+ each(settings, (value, key) => {
+ form.append(key, value)
+ })
+
+ return fetch(NOTIFICATION_SETTINGS_URL, {
+ headers: authHeaders(credentials),
+ method: 'PUT',
+ body: form
+ })
+ .then((data) => data.json())
+}
+
const updateAvatar = ({credentials, avatar}) => {
const form = new FormData()
form.append('avatar', avatar)
@@ -507,8 +523,7 @@ const fetchPinnedStatuses = ({ id, credentials }) => {
}
const verifyCredentials = (user) => {
- return fetch(LOGIN_URL, {
- method: 'POST',
+ return fetch(MASTODON_LOGIN_URL, {
headers: authHeaders(user)
})
.then((response) => {
@@ -520,6 +535,7 @@ const verifyCredentials = (user) => {
}
}
})
+
.then((data) => data.error ? data : parseUser(data))
}
@@ -777,7 +793,8 @@ const apiService = {
markNotificationsAsSeen,
fetchFavoritedByUsers,
fetchRebloggedByUsers,
- reportUser
+ reportUser,
+ updateNotificationSettings
}
export default apiService