‫-: Creemos ahora, muy rápido, el
‫modelo para nuestras reservas para que luego, en el
‫siguiente video, podamos empezar a crear algunas reservas reales.
‫Entonces, cierre
‫algunos de estos archivos aquí, también estas carpetas.
‫Aquí está la carpeta de modelos y el modelo de reserva. js.
‫Y esto, por supuesto, será muy similar a
‫lo que ya hicimos antes, así que
‫lo haré bastante rápido.
‫Entonces, como siempre, necesitamos mangosta, y creamos nuestro
‫esquema de reserva mangosta. Schema, y ahora,
‫recuerde cómo dijimos antes que íbamos
‫a usar referencias de párrafos
‫aquí en las reservas, básicamente manteniendo una referencia al
‫recorrido y también al usuario que reservó el recorrido.
‫Entonces eso es muy fácil.
‫Hicimos esto muchas veces antes.
‫Tan mangosta. Esquema. ObjectId, ¿verdad?
‫Y luego la referencia, y esta va
‫a apuntar al modelo de gira.
‫Entonces, digamos también que estos
‫son obligatorios, la reserva debe pertenecer a un Tour.
‫Ahora, tomemos esto
‫y creemos lo mismo para un usuario, ¿de acuerdo?
‫Así que eso es lo que acabamos de decir
‫que íbamos a hacer manteniendo una referencia
‫tanto del recorrido que se está comprando como del usuario que realiza la compra.
‫Luego, también queremos saber el precio
‫al que realmente se realizó la compra, y
‫eso se debe a que el precio
‫podría cambiar en el futuro, por lo que ya no
‫sabríamos cuánto pagó un determinado usuario por un recorrido.
‫Por eso, es importante tener esto también aquí
‫en la reserva, por lo que será un número,
‫y también lo requerimos,
‫la reserva debe tener un precio.
‫A continuación, creemos también nuestra marca de tiempo createdAt, que es una
‫fecha, y
‫luego simplemente agreguemos el valor predeterminado para
‫que no tengamos que hacer nada.
‫Finalmente, también quiero crear una propiedad paga, y
‫esta se establecerá automáticamente en verdadero, pero esto es solo
‫en caso de que, por
‫ejemplo, un administrador quiera crear una
‫reserva fuera de Stripe.
‫Entonces, por ejemplo, si un cliente no tiene tarjeta de
‫crédito y quiere pagar directamente, como en una tienda con efectivo,
‫o algo así.
‫Y en este caso, un administrador podría usar
‫nuestra API de reservas para crear básicamente
‫un recorrido manualmente, y para que luego se pague o aún
‫no se pague.
‫Así que solo un detalle
‫muy pequeño aquí, con solo pensar en eso, y
‫pensé que podría ser interesante incluirlo aquí también.
‫Pero claro, por defecto, será cierto para que
‫no tengamos que hacer nada.
‫Ahora, finalmente, creemos un modelo a partir de esto, para que la
‫reserva sea igual a la mangosta. modelo, y luego, por
‫supuesto, nuestro bookingSchema y luego exportar
‫todo, es
‫igual a Booking.
‫Ahora, lo que también
‫queremos hacer aquí es completar el recorrido y el usuario automáticamente
‫siempre que haya una consulta, ¿de acuerdo?
‫Así que recuerde cómo solíamos hacer eso usando
‫el middleware de consultas.
‫Entonces, justo en el esquema. pre, y luego
‫aquí o como expresión regular habitual y lo
‫que sea que comience con find.
‫Así que aquí sigue,
‫y luego esto. poblar, y hagámoslo realmente automáticamente
‫tanto para
‫el usuario como para los recorridos.
‫Y en este caso, eso
‫no es ningún problema para el
‫rendimiento, porque no habrá muchas llamadas a las reservas, porque
‫solo los guías y administradores podrán hacerlo, ¿de acuerdo?
‫Entonces, básicamente, para que un guía
‫lo verifique, en realidad se reservaron sus recorridos.
‫Entonces ese es uno de los casos
‫de uso que veo para esta parte de la API, ¿de acuerdo?
‫Entonces, nuevamente, esta consulta no ocurrirá con tanta frecuencia, por
‫lo que podemos completar fácilmente todo esto
‫sin ningún problema.
‫Así que completemos también el recorrido, pero
‫aquí solo quiero seleccionar el nombre del recorrido.
‫Entonces, digamos ruta, recorrido y seleccione solo el nombre, ¿de acuerdo?
‫Ahora bien, aquí tenemos algún tipo de error, de acuerdo, por
‫lo que, por supuesto, debería ser mangosta, no moongoose.
‫Entonces, una vez más, ESLint nos salvó aquí.
‫Ah, y de hecho hay más.
‫Guárdalo una vez más, y ahora estamos bien.
‫Entonces eso es realmente.
‫Este es nuestro modelo de reservas
‫que ahora podemos comenzar a usar en el siguiente video.