status_poster.service.js (2326B)
- import { map } from 'lodash'
- import apiService from '../api/api.service.js'
- const postStatus = ({
- store,
- status,
- spoilerText,
- visibility,
- sensitive,
- poll,
- media = [],
- inReplyToStatusId = undefined,
- quoteId = undefined,
- contentType = 'text/plain',
- preview = false,
- idempotencyKey = ''
- }) => {
- const mediaIds = map(media, 'id')
- return apiService.postStatus({
- credentials: store.state.users.currentUser.credentials,
- status,
- spoilerText,
- visibility,
- sensitive,
- mediaIds,
- inReplyToStatusId,
- quoteId,
- contentType,
- poll,
- preview,
- idempotencyKey
- })
- .then((data) => {
- if (!data.error && !preview) {
- store.dispatch('addNewStatuses', {
- statuses: [data],
- timeline: 'friends',
- showImmediately: true,
- noIdUpdate: true // To prevent missing notices on next pull.
- })
- }
- return data
- })
- .catch((err) => {
- return {
- error: err.message
- }
- })
- }
- const editStatus = ({
- store,
- statusId,
- status,
- spoilerText,
- sensitive,
- poll,
- media = [],
- contentType = 'text/plain'
- }) => {
- const mediaIds = map(media, 'id')
- return apiService.editStatus({
- id: statusId,
- credentials: store.state.users.currentUser.credentials,
- status,
- spoilerText,
- sensitive,
- poll,
- mediaIds,
- contentType
- })
- .then((data) => {
- if (!data.error) {
- store.dispatch('addNewStatuses', {
- statuses: [data],
- timeline: 'friends',
- showImmediately: true,
- noIdUpdate: true // To prevent missing notices on next pull.
- })
- }
- return data
- })
- .catch((err) => {
- console.error('Error editing status', err)
- return {
- error: err.message
- }
- })
- }
- const uploadMedia = ({ store, formData }) => {
- const credentials = store.state.users.currentUser.credentials
- return apiService.uploadMedia({ credentials, formData })
- }
- const setMediaDescription = ({ store, id, description }) => {
- const credentials = store.state.users.currentUser.credentials
- return apiService.setMediaDescription({ credentials, id, description })
- }
- const statusPosterService = {
- postStatus,
- editStatus,
- uploadMedia,
- setMediaDescription
- }
- export default statusPosterService