diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js index b7a602b8ff..65cebe784c 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 c2b93de4e7..816e73c1cc 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,