Proyectos de Subversion LeadersLinked - SPA

Rev

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

import { axios } from '@utils'

export const saveHabit = async (url, habit) => {
  const formData = new FormData()
  Object.entries(habit).forEach(
    ([key, value]) => value && formData.append(key, value)
  )
  const response = await axios.post(url, formData)
  const { data, message, success } = response.data
  if (!success) throw new Error('Error al guardar el hábito')
  return { data, message }
}

export const editHabit = async (url, habit) => {
  const formData = new FormData()
  Object.entries(habit).forEach(([key, value]) => formData.append(key, value))
  const response = await axios.post(url, formData)
  const { data, message, success } = response.data
  if (!success) throw new Error('Error al editar el hábito')
  return { data, message }
}

export const deleteHabit = async (url) => {
  const response = await axios.post(url)
  const { data, success } = response.data
  if (!success) throw new Error('Error al eliminar el hábito')
  return data
}

export const getTemplate = async (url) => {
  const response = await axios.get(url)
  const { data, success } = response.data
  if (!success) throw new Error('Error al guardar el hábito')
  return data
}

export const saveProgress = async (url, progress) => {
  const formData = new FormData()
  Object.entries(progress).forEach(([key, value]) =>
    formData.append(key, value)
  )
  const response = await axios.post(url, formData)
  const { data, success } = response.data
  if (!success) throw new Error('Error al guardar el progreso del hábito')
  return data
}

export const updateProgress = async (url, progress) => {
  const formData = new FormData()
  Object.entries(progress).forEach(([key, value]) =>
    formData.append(key, value)
  )
  const response = await axios.post(url, formData)
  const { data, success } = response.data
  if (!success) throw new Error('Error al actualizar el progreso del hábito')
  return data
}

export const deleteProgress = async (url) => {
  const response = await axios.post(url)
  const { data, success } = response.data
  if (!success) throw new Error('Error al eliminar el progreso del hábito')
  return data
}