diff options
| author | Roger Braun <roger@rogerbraun.net> | 2016-10-30 16:53:58 +0100 |
|---|---|---|
| committer | Roger Braun <roger@rogerbraun.net> | 2016-10-30 16:54:44 +0100 |
| commit | 79805584613bd3d3ec5fba6481fc1ba02986a1a8 (patch) | |
| tree | 0003f122539fc8892e2175225bb52fbd028295e3 /src/services/status_poster | |
| parent | 8630f91a13e8b8f7b56d2cb3dd2b700ad5ebd6f6 (diff) | |
Basic status posting.
Diffstat (limited to 'src/services/status_poster')
| -rw-r--r-- | src/services/status_poster/status_poster.service.js | 52 |
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; |
