Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
6493 stevensc 1
import { axios } from '../../utils'
2
import { feedActionTypes } from './feed.types'
3
 
4
export const setTimelineUrl = (url) => ({
5
  type: feedActionTypes.SET_TIMELINE_URL,
6
  payload: url,
7
})
8
 
9
export const loadFeeds = () => ({
10
  type: feedActionTypes.LOAD_FEEDS,
11
})
12
 
13
export const loadFeedsSuccess = (feeds, currentPage, pages) => ({
14
  type: feedActionTypes.LOAD_FEEDS_SUCCESS,
15
  payload: { feeds, currentPage, pages },
16
})
17
 
18
export const addFeed = (feed, feedSharedId = '') => ({
19
  type: feedActionTypes.ADD_FEED,
20
  payload: { feed, feedSharedId },
21
})
22
 
23
export const updateFeed = ({ feed, uuid }) => ({
24
  type: feedActionTypes.UPDATE_FEED,
25
  payload: { feed, uuid },
26
})
27
 
28
export const deleteFeed = (feedId) => ({
29
  type: feedActionTypes.DELETE_FEED,
30
  payload: feedId,
31
})
32
 
33
export const setCurrentPage = (page) => ({
34
  type: feedActionTypes.SET_CURRENT_PAGE,
35
  payload: page,
36
})
37
 
38
export const fetchFeeds = (url, page) => {
39
  return (dispatch) => {
40
    dispatch(loadFeeds())
41
    axios
42
      .get(url + '?page=' + page)
43
      .then(({ data: response }) => {
44
        const { data, success } = response
45
 
46
        if (!success) {
47
          return
48
        }
49
        const feeds = data.current.items
50
        const currentPage = data.current.page
51
        const pages = data.total.pages
52
 
53
        dispatch(loadFeedsSuccess(feeds, currentPage, pages))
54
      })
55
      .catch((err) => {
56
        console.log(err)
57
        throw new Error(err)
58
      })
59
  }
60
}