Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 6360 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

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