Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

import { axios } from '../../utils'
import { feedActionTypes } from './feed.types'

export const setTimelineUrl = (url) => {
  return {
    type: feedActionTypes.SET_TIMELINE_URL,
    payload: url
  }
}

export const loadFeeds = () => {
  return {
    type: feedActionTypes.LOAD_FEEDS
  }
}

export const loadFeedsSuccess = (feeds, currentPage, pages) => {
  return {
    type: feedActionTypes.LOAD_FEEDS_SUCCESS,
    payload: { feeds, currentPage, pages }
  }
}

export const addFeed = (feed, feedSharedId = '') => ({
  type: feedActionTypes.ADD_FEED,
  payload: { feed, feedSharedId }
})

export const deleteFeed = (feedId) => ({
  type: feedActionTypes.DELETE_FEED,
  payload: feedId
})

export const setCurrentPage = (page) => ({
  type: feedActionTypes.SET_CURRENT_PAGE,
  payload: page
})

export const fetchFeeds = (url, page) => {
  return (dispatch) => {
    dispatch(loadFeeds())
    axios
      .get(url + '?page=' + page)
      .then((res) => {
        const resData = res.data
        const feeds = resData.data.current.items
        const currentPage = resData.data.current.page
        const pages = resData.data.total.pages
        if (resData.success) {
          dispatch(loadFeedsSuccess(feeds, currentPage, pages))
        }
      })
      .catch((error) => {
        // dispatch(fetchFeedsFailure());
        throw Error(error.message)
      })
  }
}