add more ways to set description

This commit is contained in:
Shpuld Shpuldson 2020-07-07 09:07:20 +03:00
parent d55c09df18
commit b4709f93d4
4 changed files with 71 additions and 34 deletions

View file

@ -645,8 +645,7 @@ const postStatus = ({
poll,
mediaIds = [],
inReplyToStatusId,
contentType,
mediaDescriptions
contentType
}) => {
const form = new FormData()
const pollOptions = poll.options || []
@ -673,7 +672,6 @@ const postStatus = ({
form.append('poll[options][]', option)
})
}
form.append('descriptions', JSON.stringify(mediaDescriptions))
if (inReplyToStatusId) {
form.append('in_reply_to_id', inReplyToStatusId)
}
@ -712,6 +710,17 @@ const uploadMedia = ({ formData, credentials }) => {
.then((data) => parseAttachment(data))
}
const setMediaDescription = ({ id, description, credentials }) => {
return promisedRequest({
url: `${MASTODON_MEDIA_UPLOAD_URL}/${id}`,
method: 'PUT',
headers: authHeaders(credentials),
payload: {
description
}
}).then((data) => parseAttachment(data))
}
const importBlocks = ({ file, credentials }) => {
const formData = new FormData()
formData.append('list', file)
@ -1181,6 +1190,7 @@ const apiService = {
postStatus,
deleteStatus,
uploadMedia,
setMediaDescription,
fetchMutes,
muteUser,
unmuteUser,

View file

@ -1,7 +1,7 @@
import { map } from 'lodash'
import apiService from '../api/api.service.js'
const postStatus = ({ store, status, spoilerText, visibility, sensitive, poll, media = [], inReplyToStatusId = undefined, contentType = 'text/plain', mediaDescriptions = {} }) => {
const postStatus = ({ store, status, spoilerText, visibility, sensitive, poll, media = [], inReplyToStatusId = undefined, contentType = 'text/plain' }) => {
const mediaIds = map(media, 'id')
return apiService.postStatus({
@ -13,8 +13,8 @@ const postStatus = ({ store, status, spoilerText, visibility, sensitive, poll, m
mediaIds,
inReplyToStatusId,
contentType,
poll,
mediaDescriptions })
poll
})
.then((data) => {
if (!data.error) {
store.dispatch('addNewStatuses', {
@ -39,9 +39,16 @@ const uploadMedia = ({ store, formData }) => {
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,
uploadMedia
uploadMedia,
setMediaDescription
}
export default statusPosterService