‫-: È una buona pratica implementare un endpoint slash me
‫in qualsiasi API.
‫Quindi, in pratica, un endpoint in cui un utente
‫può recuperare i propri dati, ok?
‫E quindi, ora, molto rapidamente, implementiamolo.
‫E quindi fondamentalmente sarà qualcosa di
‫molto simile a questi endpoint updateme e deleteme che
‫abbiamo già, giusto?
‫Quindi, aggiungiamo export dot getme, ok?
‫Ora, in realtà vogliamo ancora
‫usare la funzione di fabbrica getOne, quindi in pratica,
‫questa qui, giusto?
‫Perché altrimenti sarebbe un
‫codice molto, molto simile a questo.
‫Ora, l'unico problema con questo è che
‫getOne utilizza fondamentalmente l'ID proveniente dal parametro per ottenere
‫il documento richiesto.
‫Ma ciò che vogliamo fare ora è sostanzialmente ottenere
‫il documento in base
‫all'ID utente corrente, quindi l'ID proveniente dall'utente attualmente connesso, ok?
‫E in questo modo non dobbiamo passare alcun ID
‫come parametro URL, giusto?
‫Quindi, come possiamo farlo? Beh, molto semplice.
‫Tutto ciò che faremo qui è un middleware molto semplice,
‫che funzionerà in questo modo.
‫Quindi, come sempre, request, response, next, e poi
‫tutto ciò che faremo sarà dire request, dot
‫params, dot ID, che ricorda, è ciò
‫che getOne utilizzerà
‫e diremo uguale a request dot user dot ID.
‫E questo è tutto!
‫Va bene?
‫Quindi aggiungeremo questo middleware qui prima
‫di chiamare getOne.
‫Quindi, implementiamolo in modo che l'utente indichi e lo
‫aggiungerò proprio qui.
‫Quindi il router dot mi taglia, e ora, ovviamente,
‫dobbiamo essere registrati.
‫Quindi proteggi, e questo aggiungerà quindi
‫l'utente alla richiesta corrente, che già sai
‫ci consentirà quindi di leggere l'ID di quell'utente, giusto?
‫Quindi, il passaggio successivo consiste nell'inserire sostanzialmente quell'ID utente nell'ID
‫punto parametri. Va bene?
‫Quindi fondamentalmente fingendo che l'ID provenga
‫effettivamente dall'URL.
‫Quindi, controller utente, uh, punto
‫getme e infine controller utente getuser.
‫Va bene? Ha senso?
‫Ora proviamolo molto rapidamente, quindi
‫sarà un po' simile a questo.
‫Ma poi, tagliami.
‫Ovviamente abbiamo bisogno dell'autorizzazione. Va bene?
‫E sto anche salvando questo negli
‫utenti e per ottenere l'utente corrente.
‫Ora, ok? Aggiungiamoli in realtà, questi nomi
‫perché hanno un aspetto diverso, quindi hanno questi dati qui per
‫qualche motivo.
‫Ok, questo no, ma è comunque sbagliato qui.
‫Va bene? Quindi ora, solo per
‫essere sicuri, accedi come questo amministratore. Va bene?
‫E così ora, ottieni i dati su questo utente attuale.
‫Quindi niente nel corpo, niente nell'URL,
‫ma otteniamo comunque i dati su noi stessi.
‫Quindi, nome, email, ruolo e tutti i dati che ci
‫sono su questo utente. Bello.
‫Quindi, ancora una volta, hai visto il grande potere del middleware.
‫Dove era così facile implementare semplicemente questo middleware getme,
‫in modo che dopo possiamo usare il
‫nostro semplice getuser.
‫Quindi, quello proveniente dalla funzione di fabbrica, giusto?
‫Ok, e basta.
‫Questo è tutto ciò che dovevamo fare per questo piccolo compito.