‫- : Créons maintenant, très rapidement, le
‫modèle de nos réservations afin que, dans la vidéo
‫suivante, nous puissions réellement commencer à créer de vraies réservations.
‫Alors, fermons quelques-uns
‫de ces fichiers ici, ainsi que ces dossiers.
‫Voici le dossier des modèles et donc le modèle de réservation. js.
‫Et donc, bien sûr, ça va être très similaire à
‫ce que nous avons déjà fait avant, donc
‫je vais le faire assez rapidement.
‫Donc comme toujours, nous avons besoin de mangouste, et nous créons
‫notre schéma de réservation mangouste. Schéma, et maintenant, rappelez-vous comment
‫nous avons dit auparavant que nous allions
‫utiliser le référencement de paragraphe ici
‫sur les réservations, donc en gros en gardant une référence à
‫la visite et également à l'utilisateur qui a réservé la visite.
‫C'est donc très facile.
‫Nous l'avons fait plusieurs fois auparavant.
‫Donc mangouste. Schéma. ObjectId, n'est-ce pas ?
‫Et puis la référence, et celle-ci va
‫pointer vers le modèle de tournée.
‫Alors disons aussi que ceux-ci
‫sont obligatoires, la réservation doit appartenir à un circuit.
‫Maintenant, saisissons-le et
‫créons la même chose pour un utilisateur, d'accord ?
‫C'est donc ce que nous venons de dire que
‫nous allions faire en gardant une référence
‫à la fois à la visite achetée et à l'utilisateur qui effectue l'achat.
‫Ensuite, nous voulons également connaître le
‫prix auquel l'achat a réellement eu lieu,
‫et c'est parce que le prix pourrait
‫changer à l'avenir, et ainsi nous ne saurions plus combien
‫un certain utilisateur a payé pour une visite.
‫Et il est donc important de l'avoir également
‫ici dans la réservation, ce sera donc un numéro,
‫et nous l'exigeons également,
‫la réservation doit avoir un prix.
‫Ensuite, créons également notre horodatage createdAt, qui est une date,
‫puis ajoutons
‫simplement la valeur par défaut afin
‫que nous n'ayons rien à faire.
‫Enfin, je souhaite également créer une propriété payante,
‫et celle-ci sera automatiquement définie sur true, mais c'est juste
‫au cas où, par exemple,
‫un administrateur souhaite créer une réservation
‫en dehors de Stripe.
‫Ainsi, par exemple, si un client n'a pas de carte de crédit
‫et veut payer directement, comme dans un magasin avec de l'argent liquide, ou
‫quelque chose comme ça.
‫Et dans ce cas, un administrateur pourrait alors
‫utiliser notre API de réservations afin de créer
‫essentiellement manuellement une visite, et ainsi celle-ci pourrait alors être payée ou
‫pas encore payée.
‫Donc juste un tout petit
‫détail ici, en y pensant, et j'ai pensé qu'il
‫pourrait être intéressant de l'inclure ici aussi.
‫Mais bien sûr, par défaut, ce sera vrai pour
‫que nous n'ayons rien à faire.
‫Maintenant, enfin, créons un modèle à partir de cela, donc la
‫réservation est égale à la mangouste. model, puis, bien
‫sûr, notre bookingSchema, puis l'exportation
‫du tout,
‫équivaut à Booking.
‫Maintenant, ce que nous voulons
‫également faire ici, c'est remplir la visite et l'utilisateur automatiquement chaque
‫fois qu'il y a une requête, d'accord ?
‫Alors rappelez-vous comment nous faisions cela en utilisant
‫un intergiciel de requête.
‫Donc, à droite sur le schéma. pre, puis ici
‫ou comme d'habitude l'expression régulière et tout
‫ce qui commence par find.
‫Alors voici ensuite, et
‫puis ceci. remplir, et faisons-le en
‫fait automatiquement
‫pour l'utilisateur et les visites.
‫Et dans ce cas, ce n'est
‫absolument pas un problème pour les performances, car
‫il n'y aura pas beaucoup d'appels pour les réservations, car seuls les guides
‫et les administrateurs seront réellement autorisés à les faire, d'accord ?
‫Donc, en gros, pour qu'un
‫guide vérifie, leurs visites étaient en fait réservées.
‫C'est donc l'un des cas d'utilisation
‫que je vois pour cette partie de l'API, d'accord ?
‫Donc, encore une fois, cette requête ne se produira pas si
‫souvent, nous pouvons donc facilement remplir tout cela
‫sans aucun problème.
‫Alors remplissons également la tournée, mais ici, je
‫veux en fait sélectionner uniquement le nom de la tournée.
‫Alors disons chemin, visite et sélectionnons juste le nom, d'accord ?
‫Maintenant, ici, nous avons une sorte d'erreur, d'accord, donc cela
‫devrait bien sûr être mangouste et non lune.
‫Donc, une fois de plus, ESLint nous a sauvés ici.
‫Oh, et en fait il y en a plus.
‫Enregistrez-le encore une fois, et maintenant tout va bien.
‫C'est donc ça en fait.
‫C'est notre modèle de réservation que
‫nous pouvons maintenant commencer à utiliser dans la prochaine vidéo.