aboutsummaryrefslogtreecommitdiff
path: root/src/services/status_poster
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2016-10-30 16:53:58 +0100
committerRoger Braun <roger@rogerbraun.net>2016-10-30 16:54:44 +0100
commit79805584613bd3d3ec5fba6481fc1ba02986a1a8 (patch)
tree0003f122539fc8892e2175225bb52fbd028295e3 /src/services/status_poster
parent8630f91a13e8b8f7b56d2cb3dd2b700ad5ebd6f6 (diff)
Basic status posting.
Diffstat (limited to 'src/services/status_poster')
-rw-r--r--src/services/status_poster/status_poster.service.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/services/status_poster/status_poster.service.js b/src/services/status_poster/status_poster.service.js
new file mode 100644
index 00000000..1a96b5f6
--- /dev/null
+++ b/src/services/status_poster/status_poster.service.js
@@ -0,0 +1,52 @@
+import { map } from 'lodash'
+import apiService from '../api/api.service.js'
+
+const postStatus = ({ store, status, media = [], inReplyToStatusId = undefined }) => {
+ const mediaIds = map(media, 'id')
+
+ return apiService.postStatus({credentials: store.state.users.currentUser.credentials, status, mediaIds, inReplyToStatusId})
+ .then((data) => data.json())
+ .then((data) => {
+ store.commit('addNewStatuses',
+ { statuses: [data], timeline: 'friends', showImmediately: true })
+ })
+}
+
+const statusPosterService = {
+ postStatus
+}
+
+export default statusPosterService
+
+// const statusPosterServiceFactory = (apiService, $ngRedux) => {
+// const postStatus = ({status, media = [], in_reply_to_status_id = undefined}) => {
+// const mediaIds = map(media, 'id');
+
+// return apiService.postStatus({status, mediaIds, in_reply_to_status_id}).
+// then((data) => data.json()).
+// then((data) => {
+// $ngRedux.dispatch({type: 'ADD_NEW_STATUSES', data: { statuses: [data], timeline: 'friends', showImmediately: true }});
+// });
+// };
+
+// const uploadMedia = (formData) => {
+// return apiService.uploadMedia(formData).then((xml) => {
+// return {
+// id: xml.getElementsByTagName('media_id')[0].textContent,
+// url: xml.getElementsByTagName('media_url')[0].textContent,
+// image: xml.getElementsByTagName('atom:link')[0].getAttribute('href')
+// };
+// });
+// };
+
+// const statusPosterService = {
+// postStatus,
+// uploadMedia
+// };
+
+// return statusPosterService;
+// };
+
+// statusPosterServiceFactory.$inject = ['apiService', '$ngRedux'];
+
+// export default statusPosterServiceFactory;