‫-: E ora per finire la sezione, finiamo ora
‫molto velocemente l'API delle prenotazioni.
‫E ancora una volta, voglio davvero che tu metta in pratica
‫le tue abilità
‫a questo punto, e quindi in pratica implementi tutti gli
‫endpoint mancanti completamente da solo qui.
‫Quindi, aggiungendo davvero l'aggiunta di tutte le operazioni CRUD.
‫Quindi, creare, ottenere, leggere e aggiornare le prenotazioni.
‫Quindi metti in pausa il video ora e ci vediamo tra un secondo.
‫Ok, quindi vorrei iniziare qui utilizzando la fabbrica che
‫abbiamo già per creare tutti
‫questi cinque gestori.
‫Quindi, la creazione della prenotazione viene eseguita utilizzando
‫la fabbrica. createOne
‫e passando nella prenotazione.
‫E ora, fammi duplicare cinque volte.
‫Quindi, ottieni prenotazione, getAllBookings,
‫updateBooking e deleteBooking.
‫E ora qui lo stesso.
‫Prendi tutto o prendine uno.
‫Allora ecco getAll.
‫Ecco updateOne.
‫E cancellaUno.
‫Quindi, molto facile.
‫Passiamo ora ai percorsi.
‫Quindi router. rotta, e
‫quindi senza l'id della prenotazione, abbiamo come sempre ottenere
‫tutto e crearne uno nuovo,
‫giusto.
‫Ora, tutti questi saranno effettivamente protetti e
‫anche limitati solo agli amministratori e alle guide principali.
‫E quindi lascia che lo faccia qui fuori da questo gestore.
‫E quindi qui, tutto ciò che
‫avremo è davvero bookingController. getAllBookings.
‫E quindi, proprio come prima,
‫utilizzerò il middleware di protezione completamente all'esterno.
‫Quindi router. use(authController. proteggere).
‫Quindi posso rimuoverlo da
‫qui, quindi i prossimi percorsi e tutti
‫saranno accessibili solo all'amministratore e alle guide principali.
‫Ora giusto,
‫quindi per una guida principale sapere sostanzialmente
‫quali turisti sono stati prenotati e per
‫un amministratore, beh, per aggiornare o eliminare i turisti se necessario.
‫Va bene.
‫Quindi questo è authController. limitTo guida all'amministratore
‫e
‫al lead.
‫Così .
‫ottenere e. anche post,
‫e
‫quello viene quindi createBooking.
‫Ora giusto.
‫E ora i percorsi con l'id.
‫Quindi, come sempre, in tutte le altre nostre risorse, abbiamo fatto
‫esattamente lo stesso.
‫Quindi questo è bookingController. getBooking,
‫quindi abbiamo la patch, che è per l'aggiornamento,
‫quindi updateBooking.
‫E infine, abbiamo . elimina
‫per bookingController. eliminaPrenotazione.
‫Quindi, molto semplice è la nostra API di prenotazione.
‫Quindi, solo per testare,
‫aggiungiamo getAllBookings e getBooking a Postman.
‫Va bene, quindi non sono molto interessato ad
‫aggiungere tutti questi endpoint qui.
‫Ci vuole un po' troppo tempo.
‫Va bene.
‫Quindi fammi provare con questo.
‫Quindi queste sono
‫le prenotazioni, e quindi dovrebbero essere già sufficienti.
‫Oppure no, ci serve anche l'autorizzazione.
‫E quindi accediamo rapidamente come amministratore.
‫Quindi credo
‫che sia admin@natours. io.
‫Sì, è corretto.
‫E così, vediamo.
‫E qui abbiamo effettivamente la nostra prenotazione.
‫E in questo momento è
‫solo uno, ma funziona.
‫E vedi che in realtà il tour viene popolato qui, che
‫a sua volta viene popolato con le guide,
‫ma come abbiamo detto prima non è un grosso problema in
‫questo caso, perché la piazza qui non sarà fatta così
‫tante volte.
‫Ora a destra, anche l'utente è popolato,
‫e poi ovviamente il premio.
‫Bene, salviamolo rapidamente qui e in
‫realtà non in una nuova
‫raccolta, ma qui voglio creare una nuova cartella per le prenotazioni.
‫Quindi prendi tutte
‫le prenotazioni.
‫Copiamolo qui.
‫Ora, e ovviamente dobbiamo accedere anche qui.
‫E questo è ottenere una prenotazione.
‫Proprio dentro, eh
‫dov'è?
‫Pensavo di aver appena creato una nuova cartella.
‫Ma a quanto pare no.
‫Ok, quindi questo è qui fuori.
‫Va bene, ora di nuovo non creerò questi
‫altri endpoint qui in Postman perché non
‫è proprio questo il punto.
‫Sai già come farlo.
‫Ad ogni modo, con questo, la nostra API ora è davvero finita,
‫quindi tutto ciò che ho per te ora
‫sono un paio di, diciamo, considerazioni finali e sfide
‫che dovresti completare per portare questo progetto, e anche
‫le tue abilità, anche ulteriore.