Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 5249 | | Comparar con el anterior | Ultima modificación | Ver Log |

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