aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/services/api/api.service.js20
-rw-r--r--src/services/backend_interactor_service/backend_interactor_service.js10
2 files changed, 30 insertions, 0 deletions
diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js
index b7a602b8..65cebe78 100644
--- a/src/services/api/api.service.js
+++ b/src/services/api/api.service.js
@@ -51,6 +51,8 @@ const MASTODON_STATUS_FAVORITEDBY_URL = id => `/api/v1/statuses/${id}/favourited
const MASTODON_STATUS_REBLOGGEDBY_URL = id => `/api/v1/statuses/${id}/reblogged_by`
const MASTODON_PROFILE_UPDATE_URL = '/api/v1/accounts/update_credentials'
const MASTODON_REPORT_USER_URL = '/api/v1/reports'
+const MASTODON_PIN_OWN_STATUS = id => `/api/v1/statuses/${id}/pin`
+const MASTODON_UNPIN_OWN_STATUS = id => `/api/v1/statuses/${id}/unpin`
import { each, map, concat, last } from 'lodash'
import { parseStatus, parseUser, parseNotification, parseAttachment } from '../entity_normalizer/entity_normalizer.service.js'
@@ -210,6 +212,22 @@ const unfollowUser = ({id, credentials}) => {
}).then((data) => data.json())
}
+const pinOwnStatus = ({ id, credentials }) => {
+ let url = MASTODON_PIN_OWN_STATUS(id)
+ return fetch(url, {
+ headers: authHeaders(credentials),
+ method: 'POST'
+ }).then((data) => data.json())
+}
+
+const unpinOwnStatus = ({ id, credentials }) => {
+ let url = MASTODON_UNPIN_OWN_STATUS(id)
+ return fetch(url, {
+ headers: authHeaders(credentials),
+ method: 'POST'
+ }).then((data) => data.json())
+}
+
const blockUser = ({id, credentials}) => {
return fetch(MASTODON_BLOCK_USER_URL(id), {
headers: authHeaders(credentials),
@@ -715,6 +733,8 @@ const apiService = {
fetchFollowers,
followUser,
unfollowUser,
+ pinOwnStatus,
+ unpinOwnStatus,
blockUser,
unblockUser,
fetchUser,
diff --git a/src/services/backend_interactor_service/backend_interactor_service.js b/src/services/backend_interactor_service/backend_interactor_service.js
index c2b93de4..816e73c1 100644
--- a/src/services/backend_interactor_service/backend_interactor_service.js
+++ b/src/services/backend_interactor_service/backend_interactor_service.js
@@ -43,6 +43,14 @@ const backendInteractorService = (credentials) => {
return apiService.unfollowUser({credentials, id})
}
+ const pinOwnStatus = (id) => {
+ return apiService.pinOwnStatus({credentials, id})
+ }
+
+ const unpinOwnStatus = (id) => {
+ return apiService.unpinOwnStatus({ credentials, id })
+ }
+
const blockUser = (id) => {
return apiService.blockUser({credentials, id})
}
@@ -130,6 +138,8 @@ const backendInteractorService = (credentials) => {
fetchFollowers,
followUser,
unfollowUser,
+ pinOwnStatus,
+ unpinOwnStatus,
blockUser,
unblockUser,
fetchUser,