Estoy tratando de crear un proyecto de comercio electrónico utilizando la pila MERN y me preguntaba. Cómo hacer para crear un carrito para un usuario. Actualmente tengo una configuración de ruta y modelo de usuario y productos y he creado un modelo para el carrito que tiene un campo de identificación que se refiere al usuario.
Mi confusión es cómo definir las rutas para este carrito de manera RESTful y cómo vincular el carrito al usuario.
¿Debería la ruta ser como /carts/:id o debería declararse dentro de las rutas de usuario y la ruta sería algo así como /users/me/cart ?
Si el usuario se está registrando. Cómo se debe vincular el carrito al usuario. Si se crea en el momento en que se crea el usuario, como se muestra a continuación. o cómo hacer para crearlo y vincularlo al usuario. Esto es confuso para mí, ya que la ruta solo debe definirse para una tarea específica y aquí estamos usando la ruta /users para crear también el carrito.
// Create user router.post('/users', async (req, res) => { const user = new User(req.body); const cart = new Cart({ owner: user._id }); try { await user.save(); await cart.save(); const token = await user.generateAuthToken(); res.status(201).send({ user, token, cart_id: cart._id }); } catch (e) { res.status(500).send(e); } });Además, ¿cuáles serían las mejores prácticas para manejar este tipo de situación?
Cualquier documentación o sugerencia será apreciada. ¡Gracias por su ayuda de antemano!