﻿1
00:00:01,080 --> 00:00:05,390
‫-: È una buona pratica implementare un endpoint slash me

2
00:00:05,390 --> 00:00:06,770
‫in qualsiasi API.

3
00:00:06,770 --> 00:00:10,260
‫Quindi, in pratica, un endpoint in cui un utente

4
00:00:10,260 --> 00:00:12,660
‫può recuperare i propri dati, ok?

5
00:00:12,660 --> 00:00:15,423
‫E quindi, ora, molto rapidamente, implementiamolo.

6
00:00:17,130 --> 00:00:20,240
‫E quindi fondamentalmente sarà qualcosa di

7
00:00:20,240 --> 00:00:24,680
‫molto simile a questi endpoint updateme e deleteme che

8
00:00:24,680 --> 00:00:26,543
‫abbiamo già, giusto?

9
00:00:27,600 --> 00:00:32,600
‫Quindi, aggiungiamo export dot getme, ok?

10
00:00:34,130 --> 00:00:37,180
‫Ora, in realtà vogliamo ancora

11
00:00:37,180 --> 00:00:42,180
‫usare la funzione di fabbrica getOne, quindi in pratica,

12
00:00:42,530 --> 00:00:44,360
‫questa qui, giusto?

13
00:00:44,360 --> 00:00:46,400
‫Perché altrimenti sarebbe un

14
00:00:46,400 --> 00:00:48,690
‫codice molto, molto simile a questo.

15
00:00:48,690 --> 00:00:51,960
‫Ora, l'unico problema con questo è che

16
00:00:51,960 --> 00:00:55,910
‫getOne utilizza fondamentalmente l'ID proveniente dal parametro per ottenere

17
00:00:55,910 --> 00:00:57,380
‫il documento richiesto.

18
00:00:57,380 --> 00:01:00,950
‫Ma ciò che vogliamo fare ora è sostanzialmente ottenere

19
00:01:00,950 --> 00:01:03,130
‫il documento in base

20
00:01:03,130 --> 00:01:07,280
‫all'ID utente corrente, quindi l'ID proveniente dall'utente attualmente connesso, ok?

21
00:01:07,280 --> 00:01:11,460
‫E in questo modo non dobbiamo passare alcun ID

22
00:01:11,460 --> 00:01:13,460
‫come parametro URL, giusto?

23
00:01:13,460 --> 00:01:17,690
‫Quindi, come possiamo farlo? Beh, molto semplice.

24
00:01:17,690 --> 00:01:20,870
‫Tutto ciò che faremo qui è un middleware molto semplice,

25
00:01:20,870 --> 00:01:22,553
‫che funzionerà in questo modo.

26
00:01:23,870 --> 00:01:28,243
‫Quindi, come sempre, request, response, next, e poi

27
00:01:31,661 --> 00:01:36,100
‫tutto ciò che faremo sarà dire request, dot

28
00:01:36,100 --> 00:01:39,570
‫params, dot ID, che ricorda, è ciò

29
00:01:39,570 --> 00:01:41,863
‫che getOne utilizzerà

30
00:01:42,740 --> 00:01:47,740
‫e diremo uguale a request dot user dot ID.

31
00:01:48,170 --> 00:01:49,003
‫E questo è tutto!

32
00:01:51,910 --> 00:01:52,743
‫Va bene?

33
00:01:52,743 --> 00:01:55,020
‫Quindi aggiungeremo questo middleware qui prima

34
00:01:55,020 --> 00:01:56,693
‫di chiamare getOne.

35
00:01:58,020 --> 00:02:02,600
‫Quindi, implementiamolo in modo che l'utente indichi e lo

36
00:02:02,600 --> 00:02:04,843
‫aggiungerò proprio qui.

37
00:02:05,750 --> 00:02:10,683
‫Quindi il router dot mi taglia, e ora, ovviamente,

38
00:02:12,260 --> 00:02:14,653
‫dobbiamo essere registrati.

39
00:02:15,640 --> 00:02:18,860
‫Quindi proteggi, e questo aggiungerà quindi

40
00:02:18,860 --> 00:02:22,180
‫l'utente alla richiesta corrente, che già sai

41
00:02:22,180 --> 00:02:26,173
‫ci consentirà quindi di leggere l'ID di quell'utente, giusto?

42
00:02:27,130 --> 00:02:31,990
‫Quindi, il passaggio successivo consiste nell'inserire sostanzialmente quell'ID utente nell'ID

43
00:02:31,990 --> 00:02:34,111
‫punto parametri. Va bene?

44
00:02:34,111 --> 00:02:37,790
‫Quindi fondamentalmente fingendo che l'ID provenga

45
00:02:37,790 --> 00:02:39,163
‫effettivamente dall'URL.

46
00:02:40,070 --> 00:02:43,793
‫Quindi, controller utente, uh, punto

47
00:02:45,630 --> 00:02:49,600
‫getme e infine controller utente getuser.

48
00:02:53,800 --> 00:02:55,893
‫Va bene? Ha senso?

49
00:02:57,730 --> 00:03:00,670
‫Ora proviamolo molto rapidamente, quindi

50
00:03:00,670 --> 00:03:03,803
‫sarà un po' simile a questo.

51
00:03:08,550 --> 00:03:09,863
‫Ma poi, tagliami.

52
00:03:10,810 --> 00:03:14,823
‫Ovviamente abbiamo bisogno dell'autorizzazione. Va bene?

53
00:03:16,120 --> 00:03:21,120
‫E sto anche salvando questo negli

54
00:03:22,800 --> 00:03:27,800
‫utenti e per ottenere l'utente corrente.

55
00:03:30,700 --> 00:03:34,510
‫Ora, ok? Aggiungiamoli in realtà, questi nomi

56
00:03:34,510 --> 00:03:38,310
‫perché hanno un aspetto diverso, quindi hanno questi dati qui per

57
00:03:38,310 --> 00:03:39,143
‫qualche motivo.

58
00:03:43,540 --> 00:03:46,513
‫Ok, questo no, ma è comunque sbagliato qui.

59
00:03:47,990 --> 00:03:50,770
‫Va bene? Quindi ora, solo per

60
00:03:50,770 --> 00:03:53,780
‫essere sicuri, accedi come questo amministratore. Va bene?

61
00:03:56,460 --> 00:03:59,870
‫E così ora, ottieni i dati su questo utente attuale.

62
00:03:59,870 --> 00:04:02,593
‫Quindi niente nel corpo, niente nell'URL,

63
00:04:03,660 --> 00:04:07,150
‫ma otteniamo comunque i dati su noi stessi.

64
00:04:07,150 --> 00:04:11,080
‫Quindi, nome, email, ruolo e tutti i dati che ci

65
00:04:11,080 --> 00:04:14,540
‫sono su questo utente. Bello.

66
00:04:14,540 --> 00:04:18,870
‫Quindi, ancora una volta, hai visto il grande potere del middleware.

67
00:04:18,870 --> 00:04:22,660
‫Dove era così facile implementare semplicemente questo middleware getme,

68
00:04:22,660 --> 00:04:25,850
‫in modo che dopo possiamo usare il

69
00:04:25,850 --> 00:04:27,450
‫nostro semplice getuser.

70
00:04:27,450 --> 00:04:32,073
‫Quindi, quello proveniente dalla funzione di fabbrica, giusto?

71
00:04:33,140 --> 00:04:34,640
‫Ok, e basta.

72
00:04:34,640 --> 00:04:37,533
‫Questo è tutto ciò che dovevamo fare per questo piccolo compito.

