Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
5 stevensc 1
import { axios } from '../../utils'
2
import { feedActionTypes } from './feed.types'
3
 
4
export const setTimelineUrl = (url) => ({
5
  type: feedActionTypes.SET_TIMELINE_URL,
1650 stevensc 6
  payload: url
5 stevensc 7
})
8
 
9
export const loadFeeds = () => ({
1650 stevensc 10
  type: feedActionTypes.LOAD_FEEDS
5 stevensc 11
})
12
 
13
export const loadFeedsSuccess = (feeds, currentPage, pages) => ({
14
  type: feedActionTypes.LOAD_FEEDS_SUCCESS,
1650 stevensc 15
  payload: { feeds, currentPage, pages }
5 stevensc 16
})
17
 
18
export const addFeed = (feed, feedSharedId = '') => ({
19
  type: feedActionTypes.ADD_FEED,
1650 stevensc 20
  payload: { feed, feedSharedId }
5 stevensc 21
})
22
 
23
export const updateFeed = ({ feed, uuid }) => ({
24
  type: feedActionTypes.UPDATE_FEED,
1650 stevensc 25
  payload: { feed, uuid }
5 stevensc 26
})
27
export const deleteFeed = (feedId) => ({
28
  type: feedActionTypes.DELETE_FEED,
1650 stevensc 29
  payload: feedId
5 stevensc 30
})
31
 
32
export const setCurrentPage = (page) => ({
33
  type: feedActionTypes.SET_CURRENT_PAGE,
1650 stevensc 34
  payload: page
5 stevensc 35
})
36
 
37
export const fetchFeeds = (url, page) => {
38
  return (dispatch) => {
2194 stevensc 39
    if (!url || url.includes('undefined')) return
2137 stevensc 40
 
5 stevensc 41
    dispatch(loadFeeds())
2137 stevensc 42
 
2194 stevensc 43
    axios.get(url + '?page=' + page).then(({ data: response }) => {
44
      const { data, success } = response
5 stevensc 45
 
2194 stevensc 46
      if (!success) {
47
        throw new Error(
48
          'Error al obtener las publicaciones, por favor intente más tarde'
49
        )
50
      }
5 stevensc 51
 
2194 stevensc 52
      const feeds = data.current.items
53
      const currentPage = data.current.page
54
      const pages = data.total.pages
55
 
56
      dispatch(loadFeedsSuccess(feeds, currentPage, pages))
57
    })
5 stevensc 58
  }
59
}
1650 stevensc 60
 
1662 stevensc 61
export const removeComment = ({ feedId, commentId }) => ({
1650 stevensc 62
  type: feedActionTypes.REMOVE_COMMENT,
1662 stevensc 63
  payload: { feedId, commentId }
1650 stevensc 64
})
65
 
1662 stevensc 66
export const addComment = ({ feedId, comment }) => ({
1657 stevensc 67
  type: feedActionTypes.ADD_COMMENT,
1662 stevensc 68
  payload: { feedId, comment }
1650 stevensc 69
})