// app.js
const express = require("express");
const app = express();
app.use(express.json());
let orders = [];
let currentId = 1;
// Crear un pedido
app.post("/api/orders", (req, res) => {
const { clienteId, origen, destino, notas } = req.body;
const newOrder = {
id: currentId++,
clienteId,
repartidorId: null,
origen,
destino,
notas: notas || "",
precioEstimado: 80, // aquí luego puedes calcular según distancia
estado: "pendiente",
fechaCreacion: new Date().toISOString(),
};
orders.push(newOrder);
res.status(201).json(newOrder);
});
// Listar pedidos (ej. para admin)
app.get("/api/orders", (req, res) => {
res.json(orders);
});
// Asignar repartidor
app.post("/api/orders/:id/asignar", (req, res) => {
const orderId = parseInt(req.params.id, 10);
const { repartidorId } = req.body;
const order = orders.find(o => o.id === orderId);
if (!order) return res.status(404).json({ error: "Pedido no encontrado" });
order.repartidorId = repartidorId;
order.estado = "asignado";
res.json(order);
});
// Cambiar estado
app.post("/api/orders/:id/estado", (req, res) => {
const orderId = parseInt(req.params.id, 10);
const { estado } = req.body;
const order = orders.find(o => o.id === orderId);
if (!order) return res.status(404).json({ error: "Pedido no encontrado" });
order.estado = estado;
res.json(order);
});
app.listen(3000, () => {
console.log("API de motomandados escuchando en http://localhost:3000");
});