Rev 5248 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import { axios } from '../utils'
import { cancelToken } from '../utils/axios'
export const fetchMessages = async (url, page = 1) => {
try {
const { data: response } = await axios.get(`${url}?page=${page}`, {
cancelToken
})
if (!response.success) {
const errorMessage = typeof response.data === 'string'
? response.data
: Object.entries(response.data)
.map(([key, value]) => `${key}: ${value[0]}`)
return { success: false, data: errorMessage.message }
}
return {
success: true,
data: response.data.items ? response.data.items : response.data,
pagination: response.pagination
}
} catch (error) {
const errorMessage = new Error(error)
return { success: false, data: errorMessage.message }
}
}
export const cancelFetch = () => cancelToken.cancel()
export const getMessagesDifferences = (messages, newMessages) => {
const msgs = newMessages.reduce((acum, updatedMessage) => {
if (messages.findIndex((message) => message.id === updatedMessage.id) === -1) {
acum = [...acum, updatedMessage]
}
return acum
}, [])
return msgs
}