aboutsummaryrefslogtreecommitdiff
path: root/src/services/api/api.service.js
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2016-11-07 11:56:14 +0100
committerRoger Braun <roger@rogerbraun.net>2016-11-07 11:56:14 +0100
commitcf972e968cd1e059c4a7a05a9a3d42f3da05414b (patch)
tree2d7d9ee5408397f1ac5d36fa98943158d5a105c4 /src/services/api/api.service.js
parentacc439f26684d3d188542e904190532ac781c936 (diff)
parent83e7add2c7cd3d7b878c82ffb86e09479bff3500 (diff)
Merge branch 'master' of ssh.gitgud.io:lambadalambda/pleroma-fe
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 df7b4190..06585ac7 100644
--- a/src/services/api/api.service.js
+++ b/src/services/api/api.service.js
@@ -6,21 +6,27 @@ const PUBLIC_AND_EXTERNAL_TIMELINE_URL = '/api/statuses/public_and_external_time
const FAVORITE_URL = '/api/favorites/create'
const UNFAVORITE_URL = '/api/favorites/destroy'
const STATUS_UPDATE_URL = '/api/statuses/update.json'
+const MEDIA_UPLOAD_URL = '/api/statusnet/media/upload'
// const CONVERSATION_URL = '/api/statusnet/conversation/';
-// const MEDIA_UPLOAD_URL = '/api/statusnet/media/upload';
// const FORM_CONTENT_TYPE = {'Content-Type': 'application/x-www-form-urlencoded'};
// import { param, ajax } from 'jquery';
// import { merge } from 'lodash';
-const authHeaders = (user) => ({ 'Authorization': `Basic ${btoa(`${user.username}:${user.password}`)}` })
+const authHeaders = (user) => {
+ if (user) {
+ return { 'Authorization': `Basic ${btoa(`${user.username}:${user.password}`)}` }
+ } else {
+ return { }
+ }
+}
const fetchTimeline = ({timeline, credentials, since = false, until = false}) => {
const timelineUrls = {
public: PUBLIC_TIMELINE_URL,
friends: FRIENDS_TIMELINE_URL,
- 'public-and-external': PUBLIC_AND_EXTERNAL_TIMELINE_URL
+ 'publicAndExternal': PUBLIC_AND_EXTERNAL_TIMELINE_URL
}
let url = timelineUrls[timeline]
@@ -75,12 +81,23 @@ const postStatus = ({credentials, status, mediaIds, inReplyToStatusId}) => {
})
}
+const uploadMedia = ({formData, credentials}) => {
+ return fetch(MEDIA_UPLOAD_URL, {
+ body: formData,
+ method: 'POST',
+ headers: authHeaders(credentials)
+ })
+ .then((response) => response.text())
+ .then((text) => (new DOMParser()).parseFromString(text, 'application/xml'))
+}
+
const apiService = {
verifyCredentials,
fetchTimeline,
favorite,
unfavorite,
- postStatus
+ postStatus,
+ uploadMedia
}
export default apiService