Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
5206 stevensc 1
import { axios } from '../utils'
2
 
5244 stevensc 3
const source = axios.CancelToken.source()
4
 
5239 stevensc 5
export const fetchMessages = async (url, page = 1) => {
5206 stevensc 6
  try {
5244 stevensc 7
    const { data: response } = await axios.get(`${url}?page=${page}`, {
8
      cancelToken: source.token
9
    })
5206 stevensc 10
 
11
    if (!response.success) {
12
      const errorMessage = typeof response.data === 'string'
13
        ? response.data
14
        : Object.entries(response.data)
15
          .map(([key, value]) => `${key}: ${value[0]}`)
16
 
17
      return { success: false, data: errorMessage.message }
18
    }
19
 
5239 stevensc 20
    return {
21
      success: true,
22
      data: response.data.items ? response.data.items : response.data,
23
      pagination: response.pagination
24
    }
5206 stevensc 25
  } catch (error) {
26
    const errorMessage = new Error(error)
27
    return { success: false, data: errorMessage.message }
28
  }
29
}
30
 
5244 stevensc 31
export const cancelFetch = () => source.cancel()
32
 
5206 stevensc 33
export const getMessagesDifferences = (messages, newMessages) => {
34
  const msgs = newMessages.reduce((acum, updatedMessage) => {
35
    if (messages.findIndex((message) => message.id === updatedMessage.id) === -1) {
36
      acum = [...acum, updatedMessage]
37
    }
38
    return acum
39
  }, [])
40
 
41
  console.log(msgs)
5239 stevensc 42
 
43
  return msgs
5206 stevensc 44
}