aboutsummaryrefslogtreecommitdiff
path: root/src/services/timeline_fetcher
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2016-10-28 14:26:51 +0200
committerRoger Braun <roger@rogerbraun.net>2016-10-28 14:26:51 +0200
commitf8d6fe41f0c639ce1c3f8072ef94de8e3419f1cf (patch)
tree385e5a0b4d8c0b81094d7f6e7e8df02fde51dcb6 /src/services/timeline_fetcher
parent7ce6bbcf30746a1691a8ff1e09048c78ec350bbe (diff)
Start fetching.
Diffstat (limited to 'src/services/timeline_fetcher')
-rw-r--r--src/services/timeline_fetcher/timeline_fetcher.service.js120
1 files changed, 80 insertions, 40 deletions
diff --git a/src/services/timeline_fetcher/timeline_fetcher.service.js b/src/services/timeline_fetcher/timeline_fetcher.service.js
index 9013c82e..80bcb415 100644
--- a/src/services/timeline_fetcher/timeline_fetcher.service.js
+++ b/src/services/timeline_fetcher/timeline_fetcher.service.js
@@ -1,53 +1,93 @@
-import { upperFirst, camelCase } from 'lodash';
+import { camelCase } from 'lodash'
-const timelineFetcherServiceFactory = ($ngRedux, apiService, $interval) => {
- let fetcher;
+import apiService from '../api/api.service.js'
- const update = ({statuses, timeline, showImmediately}) => {
- const ccTimeline = camelCase(timeline);
+const update = ({store, statuses, timeline, showImmediately}) => {
+ const ccTimeline = camelCase(timeline)
- const action = {
- type: 'ADD_NEW_STATUSES',
- data: {
- statuses,
- timeline: ccTimeline,
- showImmediately
- }
- };
+ store.commit('addNewStatuses', {
+ timeline: ccTimeline,
+ statuses,
+ showImmediately
+ })
- $ngRedux.dispatch(action);
- $ngRedux.dispatch({type: 'UPDATE_TIMESTAMPS'});
- };
+ // $ngRedux.dispatch({type: 'UPDATE_TIMESTAMPS'});
+}
- const fetchAndUpdate = ({timeline = 'friends', older = false, showImmediately = false}) => {
- const args = { timeline };
- const timelineData = $ngRedux.getState().statuses.timelines[camelCase(timeline)];
+const fetchAndUpdate = ({store, credentials, timeline = 'friends', older = false, showImmediately = false}) => {
+ const args = { timeline, credentials }
+ const timelineData = store.rootState.statuses.timelines[camelCase(timeline)]
- if(older) {
- args['until'] = timelineData.minVisibleId;
- } else {
- args['since'] = timelineData.maxId;
- }
+ if (older) {
+ args['until'] = timelineData.minVisibleId
+ } else {
+ args['since'] = timelineData.maxId
+ }
- apiService.fetchTimeline(args).
- then((statuses) => update({statuses, timeline, showImmediately}));
- };
+ apiService.fetchTimeline(args)
+ .then((statuses) => update({store, statuses, timeline, showImmediately}))
+}
- const startFetching = ({timeline = 'friends'}) => {
- fetchAndUpdate({timeline, showImmediately: true});
+const startFetching = ({ timeline = 'friends', credentials, store }) => {
+ fetchAndUpdate({timeline, credentials, store, showImmediately: true})
+ const boundFetchAndUpdate = () => fetchAndUpdate({ timeline, credentials, store })
- const boundFetchAndUpdate = () => fetchAndUpdate({timeline});
- fetcher = $interval(boundFetchAndUpdate, 10000);
- };
+ setInterval(boundFetchAndUpdate, 10000)
+}
+const timelineFetcher = {
+ startFetching
+}
- const timelineFetcherService = {
- startFetching,
- fetchAndUpdate
- };
+export default timelineFetcher
- return timelineFetcherService;
-};
+// const timelineFetcherServiceFactory = ($ngRedux, apiService, $interval) => {
+// let fetcher;
-timelineFetcherServiceFactory.$inject = ['$ngRedux', 'apiService', '$interval'];
+// const update = ({statuses, timeline, showImmediately}) => {
+// const ccTimeline = camelCase(timeline);
-export default timelineFetcherServiceFactory;
+// const action = {
+// type: 'ADD_NEW_STATUSES',
+// data: {
+// statuses,
+// timeline: ccTimeline,
+// showImmediately
+// }
+// };
+
+// $ngRedux.dispatch(action);
+// $ngRedux.dispatch({type: 'UPDATE_TIMESTAMPS'});
+// };
+
+// const fetchAndUpdate = ({timeline = 'friends', older = false, showImmediately = false}) => {
+// const args = { timeline };
+// const timelineData = $ngRedux.getState().statuses.timelines[camelCase(timeline)];
+
+// if(older) {
+// args['until'] = timelineData.minVisibleId;
+// } else {
+// args['since'] = timelineData.maxId;
+// }
+
+// apiService.fetchTimeline(args).
+// then((statuses) => update({statuses, timeline, showImmediately}));
+// };
+
+// const startFetching = ({timeline = 'friends'}) => {
+// fetchAndUpdate({timeline, showImmediately: true});
+
+// const boundFetchAndUpdate = () => fetchAndUpdate({timeline});
+// fetcher = $interval(boundFetchAndUpdate, 10000);
+// };
+
+// const timelineFetcherService = {
+// startFetching,
+// fetchAndUpdate
+// };
+
+// return timelineFetcherService;
+// };
+
+// timelineFetcherServiceFactory.$inject = ['$ngRedux', 'apiService', '$interval'];
+
+// export default timelineFetcherServiceFactory;