import { getCamionAPI, insertarCamionAPI, editarCamionAPI, eliminarCamionAPI } from 'ba-api/camion'; import { getTipoCamionXNombreAPI } from 'ba-api/tipoCamion'; import * as types from './actionTypes' export const setCamiones = (payload) => ({ type: types.LISTA_PEDIDO, payload }); export const insertCamiones = (payload) => ({ type: types.NUEVO_CAMION, payload }); export const updateCamiones = (payload) => ({ type: types.ACTUALIZAR_CAMION, payload }); export const deleteCamiones = (payload) => ({ type: types.ELIMINAR_CAMION, payload }); /***************************************/ export function b2fCamiones(x){ const {...other} = x return { id: x.id, codigo: 'A001', placa: x.placa, origen: 'Lima', tipo: x.tipoCamion.nombre, estado: x.estado, capacidad: x.tipoCamion.capacidad, ...other } } export function f2bCamion(x, tipo){ console.log("Antes", tipo) console.log("data new", x.get('id')) const data = { id: x.get('id')? x.get('id'): undefined, placa: x.get('placa'), codigo: "A0005", estado: x.get('estado'), kilometraje: 50.0, tipoCamion: { id: tipo.id, nombre: tipo.nombre, capacidad: tipo.capacidad } } return data } /***************************************/ export const getCamiones = () => async dispatch => { try{ const res = await getCamionAPI(); res.data.forEach((x, i) => { res.data[i] = b2fCamiones(x) }); dispatch(setCamiones({res})) return res; }catch(e){ console.log(e) } } export const insertarCamion = (data) => async dispatch => { try{ const resTipo = await getTipoCamionXNombreAPI(data.get('tipo')); const res = await insertarCamionAPI(f2bCamion(data, resTipo.data)); dispatch(insertCamiones({res})) return res; }catch(e){ console.log(e) } } export const editarCamion = (data) => async dispatch => { try{ const resTipo = await getTipoCamionXNombreAPI(data.get('tipo')); const res = await editarCamionAPI(f2bCamion(data, resTipo.data)); dispatch(updateCamiones({res})) return res; }catch(e){ console.log(e) } } export const eliminarCamion = (data) => async dispatch => { try{ //Envia id const res = await eliminarCamionAPI(data); dispatch(deleteCamiones({res})) return res; }catch(e){ console.log(e) } }