﻿1
00:00:01,130 --> 00:00:04,270
‫Jonas: Continuiamo a creare alcune funzioni di fabbrica,

2
00:00:04,270 --> 00:00:07,793
‫questa volta per l'aggiornamento e per la creazione di alcune risorse.

3
00:00:09,280 --> 00:00:11,750
‫E così, ora che sappiamo già come

4
00:00:11,750 --> 00:00:14,640
‫funziona, è davvero semplice continuare a fare lo stesso

5
00:00:14,640 --> 00:00:15,543
‫per l'aggiornamento.

6
00:00:16,660 --> 00:00:18,413
‫Quindi esportazioni. updateOne,

7
00:00:21,200 --> 00:00:24,520
‫e andiamo avanti e copiamo di nuovo il codice

8
00:00:24,520 --> 00:00:25,993
‫dal controller del tour.

9
00:00:27,330 --> 00:00:28,832
‫Va bene.

10
00:00:28,832 --> 00:00:30,740
‫E ora abbiamo un sacco

11
00:00:30,740 --> 00:00:33,022
‫di file aperti perché in realtà li

12
00:00:33,022 --> 00:00:34,573
‫stiamo modificando tutti contemporaneamente.

13
00:00:36,860 --> 00:00:40,253
‫Quindi copiamo questo e

14
00:00:42,110 --> 00:00:43,850
‫incolliamo qui.

15
00:00:43,850 --> 00:00:46,953
‫E quindi, ciò che ci interessa è, ancora, questa parte.

16
00:00:49,130 --> 00:00:50,530
‫Va bene.

17
00:00:50,530 --> 00:00:53,950
‫E ora, ovviamente, dobbiamo creare quella funzione di

18
00:00:53,950 --> 00:00:56,130
‫fabbrica perché non vogliamo restituirla.

19
00:00:56,130 --> 00:00:58,120
‫Invece, vogliamo restituire una

20
00:00:58,120 --> 00:01:01,210
‫funzione, che a sua volta restituirà this.

21
00:01:01,210 --> 00:01:02,043
‫Destra?

22
00:01:04,000 --> 00:01:06,240
‫Quindi è molto semplice.

23
00:01:06,240 --> 00:01:09,480
‫Usiamo una semplice funzione freccia in cui passiamo il

24
00:01:09,480 --> 00:01:13,300
‫modello e quindi restituiamo implicitamente tutto ciò che viene dopo la freccia.

25
00:01:13,300 --> 00:01:14,773
‫Quindi, tutto questo.

26
00:01:15,830 --> 00:01:16,663
‫Va bene.

27
00:01:17,690 --> 00:01:21,010
‫Quindi, proprio come prima, sostituiamo il modello

28
00:01:21,010 --> 00:01:22,460
‫specifico con uno

29
00:01:22,460 --> 00:01:26,453
‫generale, quindi sostituiamo tutto questo qui con il documento.

30
00:01:27,500 --> 00:01:31,030
‫O meglio, con doc, come abbiamo fatto prima.

31
00:01:31,030 --> 00:01:32,443
‫E qui non

32
00:01:33,640 --> 00:01:36,640
‫c'è nessun documento, e poi quaggiù, dove effettivamente inviamo

33
00:01:36,640 --> 00:01:39,730
‫i dati, sarebbe bello dargli effettivamente il nome della proprietà

34
00:01:39,730 --> 00:01:41,370
‫dei dati che stiamo inviando.

35
00:01:41,370 --> 00:01:46,370
‫Ad esempio, le recensioni, quindi il documento oi tour.

36
00:01:48,340 --> 00:01:49,173
‫Va bene.

37
00:01:49,173 --> 00:01:52,600
‫Ma è un po' troppo lavoro per implementarlo in questo momento.

38
00:01:52,600 --> 00:01:55,630
‫E così, lo lascerò semplicemente così dove ho

39
00:01:55,630 --> 00:01:57,670
‫inviato, di nuovo, i dati.

40
00:01:57,670 --> 00:01:58,660
‫Va bene.

41
00:01:58,660 --> 00:02:00,010
‫Così sono andati i nostri

42
00:02:00,010 --> 00:02:02,600
‫dati qui, e poi la busta lì dentro sarà,

43
00:02:02,600 --> 00:02:03,923
‫di nuovo, chiamata dati.

44
00:02:05,610 --> 00:02:06,443
‫Va bene.

45
00:02:06,443 --> 00:02:08,650
‫E quindi, questo dovrebbe funzionare

46
00:02:08,650 --> 00:02:12,240
‫ora perché tutto il resto è davvero lo stesso.

47
00:02:12,240 --> 00:02:15,936
‫E quindi, possiamo andare avanti, sbarazzarci di tutto questo

48
00:02:15,936 --> 00:02:17,320
‫e dire semplicemente

49
00:02:18,420 --> 00:02:20,137
‫fabbrica. updateOne, passa

50
00:02:22,260 --> 00:02:24,993
‫al modello Tour e chiamalo un giorno.

51
00:02:26,910 --> 00:02:28,060
‫Va bene?

52
00:02:28,060 --> 00:02:29,323
‫Quindi, davvero semplice.

53
00:02:30,530 --> 00:02:32,643
‫Quindi, la stessa cosa per gli utenti.

54
00:02:33,938 --> 00:02:36,920
‫Quindi, di nuovo, abbiamo updateUser.

55
00:02:36,920 --> 00:02:39,190
‫Questo percorso non è ancora implementato.

56
00:02:39,190 --> 00:02:42,790
‫E quindi, sostituiamo semplicemente tutto questo qui con la

57
00:02:42,790 --> 00:02:45,237
‫nostra funzione updateOne di fabbrica.

58
00:02:46,800 --> 00:02:47,850
‫Va bene.

59
00:02:47,850 --> 00:02:51,030
‫E così, proprio come prima, questa funzione updateUser

60
00:02:51,030 --> 00:02:53,600
‫è solo per gli amministratori, ok?

61
00:02:53,600 --> 00:02:56,640
‫E solo per aggiornare i dati che

62
00:02:56,640 --> 00:03:01,640
‫non sono la password, perché ricorda, ogni volta che usiamo, dove si trova,

63
00:03:01,710 --> 00:03:05,240
‫quindi ogni volta che usiamo findById e update, tutto

64
00:03:05,240 --> 00:03:07,890
‫il middleware sicuro non viene eseguito.

65
00:03:07,890 --> 00:03:11,160
‫Quindi ricorda come ne abbiamo parlato un paio di volte.

66
00:03:11,160 --> 00:03:12,990
‫E quindi, ancora

67
00:03:12,990 --> 00:03:17,498
‫una volta, è davvero importante non tentare di cambiare le

68
00:03:17,498 --> 00:03:19,710
‫password qui utilizzando questo updateUser.

69
00:03:19,710 --> 00:03:20,810
‫Va bene?

70
00:03:20,810 --> 00:03:22,360
‫In realtà scriviamolo qui.

71
00:03:27,640 --> 00:03:28,473
‫Con questo.

72
00:03:30,070 --> 00:03:30,903
‫Grande.

73
00:03:30,903 --> 00:03:32,460
‫E ora, finalmente,

74
00:03:32,460 --> 00:03:34,593
‫mettiamolo anche nel controller di revisione.

75
00:03:36,700 --> 00:03:37,533
‫Va bene.

76
00:03:38,420 --> 00:03:40,507
‫Quindi esportazioni. updateReview,

77
00:03:50,830 --> 00:03:53,260
‫e poi la nostra recensione.

78
00:03:53,260 --> 00:03:55,060
‫Quindi quello è molto semplice.

79
00:03:55,060 --> 00:03:58,573
‫Ora andiamo avanti e aggiungiamo anche questi percorsi a Postman.

80
00:04:00,210 --> 00:04:01,703
‫Quindi abbiamo

81
00:04:02,840 --> 00:04:07,840
‫Elimina recensione e ora aggiungiamola semplicemente qui come PATCH.

82
00:04:08,020 --> 00:04:10,830
‫E la cosa di cui abbiamo bisogno è anche l'implementazione del

83
00:04:10,830 --> 00:04:12,280
‫percorso nel router di revisione.

84
00:04:12,280 --> 00:04:14,130
‫Quindi facciamolo anche noi.

85
00:04:14,130 --> 00:04:19,130
‫Ma prima, lo salverò qui nelle recensioni.

86
00:04:22,730 --> 00:04:25,443
‫Quindi aggiorna recensione.

87
00:04:28,090 --> 00:04:31,263
‫Quindi qui, nei percorsi di revisione, dovremmo

88
00:04:32,270 --> 00:04:35,223
‫aggiungere il metodo patch e quindi

89
00:04:37,580 --> 00:04:39,203
‫reviewController. aggiornamentoRecensione.

90
00:04:44,610 --> 00:04:45,443
‫Va bene.

91
00:04:47,950 --> 00:04:51,410
‫Quindi diamo un'occhiata a una di queste

92
00:04:51,410 --> 00:04:55,913
‫recensioni qui, diciamo questa, e aggiorniamo la valutazione a quattro.

93
00:04:57,270 --> 00:04:58,103
‫Va bene.

94
00:05:00,470 --> 00:05:01,783
‫Quindi il

95
00:05:09,060 --> 00:05:10,700
‫corpo, impostalo su quattro.

96
00:05:10,700 --> 00:05:12,093
‫E invialo ora.

97
00:05:13,760 --> 00:05:18,530
‫Ok, e come possiamo vedere, otteniamo la nostra nuova recensione

98
00:05:18,530 --> 00:05:22,070
‫con la valutazione aggiornata, proprio come previsto.

99
00:05:22,070 --> 00:05:24,950
‫E ancora, ci occuperemo dell'autorizzazione un po' più

100
00:05:24,950 --> 00:05:26,300
‫avanti nella sezione.

101
00:05:27,282 --> 00:05:29,963
‫Per ora, volevo solo che funzionasse.

102
00:05:32,280 --> 00:05:37,280
‫Quindi utenti, ora aggiorniamo anche gli utenti.

103
00:05:38,100 --> 00:05:38,933
‫Va bene?

104
00:05:42,640 --> 00:05:45,963
‫Quindi OTTIENI e PATCH.

105
00:05:47,930 --> 00:05:49,583
‫Quindi prendiamo tutti gli utenti qui.

106
00:05:53,970 --> 00:05:55,383
‫Diciamo questo.

107
00:06:04,991 --> 00:06:06,413
‫E cambiamo il

108
00:06:09,600 --> 00:06:10,640
‫nome

109
00:06:10,640 --> 00:06:14,443
‫in Administrator, che prima era semplicemente admin.

110
00:06:15,680 --> 00:06:16,513
‫Va bene?

111
00:06:18,420 --> 00:06:21,960
‫E così, anche questo ha funzionato.

112
00:06:21,960 --> 00:06:26,010
‫Ok, di nuovo, sto salvando tutto questo qui nella mia raccolta perché poi,

113
00:06:26,010 --> 00:06:27,320
‫un po' più tardi,

114
00:06:27,320 --> 00:06:29,880
‫posso effettivamente andare avanti e creare documentazione da

115
00:06:29,880 --> 00:06:32,673
‫tutti i dati di questa raccolta che abbiamo qui.

116
00:06:35,330 --> 00:06:36,863
‫Quindi Aggiorna

117
00:06:39,370 --> 00:06:42,740
‫utente, metti quello qui e questo qui.

118
00:06:42,740 --> 00:06:43,710
‫Perfetto.

119
00:06:43,710 --> 00:06:46,800
‫Quindi l'aggiornamento degli utenti ora funziona per tutte

120
00:06:46,800 --> 00:06:50,350
‫e tre le nostre risorse utilizzando la funzione di fabbrica.

121
00:06:50,350 --> 00:06:52,980
‫E quindi, andiamo avanti e aggiungiamo il

122
00:06:52,980 --> 00:06:54,767
‫prossimo, che sarà createOne.

123
00:06:57,979 --> 00:06:59,770
‫Quindi esporta, createOne.

124
00:07:03,290 --> 00:07:04,983
‫E ancora, passiamo al modello.

125
00:07:05,840 --> 00:07:07,820
‫E da lì, creiamo una nuova funzione.

126
00:07:07,820 --> 00:07:09,280
‫E questo potrebbe, ancora

127
00:07:09,280 --> 00:07:11,103
‫una volta, copiarlo effettivamente dal Tour qui.

128
00:07:14,880 --> 00:07:15,713
‫Va bene.

129
00:07:17,420 --> 00:07:21,373
‫E quindi, ciò di cui abbiamo bisogno qui è solo questa parte.

130
00:07:23,580 --> 00:07:27,400
‫Quindi modella e documenta.

131
00:07:27,400 --> 00:07:30,897
‫E quaggiù, li chiamiamo di nuovo dati.

132
00:07:30,897 --> 00:07:32,450
‫Va bene.

133
00:07:32,450 --> 00:07:34,890
‫E così, in realtà è così.

134
00:07:34,890 --> 00:07:36,620
‫Questa è la nostra funzione di fabbrica.

135
00:07:36,620 --> 00:07:40,253
‫E così, di nuovo, veniamo qui e sostituiamolo.

136
00:07:41,830 --> 00:07:44,377
‫Quindi fabbrica. createOne, Tour.

137
00:07:48,860 --> 00:07:51,910
‫Quindi vedi che il nostro codice

138
00:07:51,910 --> 00:07:55,040
‫nei controller ora sta diventando davvero pulito, giusto?

139
00:07:55,040 --> 00:07:57,970
‫Ma in realtà, non saremo in grado di sostituire

140
00:07:57,970 --> 00:08:01,710
‫tutte le funzioni che abbiamo qui con le fabbriche, perché altrimenti

141
00:08:01,710 --> 00:08:03,670
‫non avremmo nemmeno bisogno di questo

142
00:08:03,670 --> 00:08:05,480
‫file del controller, giusto?

143
00:08:05,480 --> 00:08:08,750
‫Potremmo quindi semplicemente creare questi gestori al volo, in

144
00:08:08,750 --> 00:08:11,270
‫pratica, nel file del router, giusto?

145
00:08:11,270 --> 00:08:13,947
‫E quindi, potremmo praticamente saltare questo intero

146
00:08:13,947 --> 00:08:16,320
‫passaggio del file del controller.

147
00:08:16,320 --> 00:08:17,600
‫Ma ancora una volta, ne

148
00:08:17,600 --> 00:08:19,730
‫abbiamo ancora bisogno perché abbiamo altre cose lì dentro.

149
00:08:19,730 --> 00:08:23,080
‫Ad esempio, questi metodi qui per

150
00:08:23,080 --> 00:08:27,418
‫ottenere le statistiche del tour o questo piano

151
00:08:27,418 --> 00:08:29,560
‫mensile, e sì.

152
00:08:29,560 --> 00:08:33,750
‫Quindi ha senso tenere effettivamente questo file, ok?

153
00:08:33,750 --> 00:08:35,130
‫Quindi, per gli

154
00:08:35,130 --> 00:08:37,930
‫Utenti, in realtà non abbiamo bisogno di createOne

155
00:08:37,930 --> 00:08:39,460
‫perché, per creare nuovi

156
00:08:39,460 --> 00:08:41,630
‫utenti, abbiamo già la funzione di

157
00:08:41,630 --> 00:08:44,290
‫iscrizione e non possiamo davvero sostituirla con

158
00:08:44,290 --> 00:08:47,240
‫una fabbrica perché è davvero diversa da questa generica.

159
00:08:47,240 --> 00:08:48,073
‫Va bene?

160
00:08:49,150 --> 00:08:54,140
‫Ma possiamo farlo nel controller di revisione, ok?

161
00:08:54,140 --> 00:08:58,230
‫Quindi, in pratica, vogliamo sostituire questo createReview.

162
00:08:58,230 --> 00:08:59,990
‫Ora vedi che anche

163
00:08:59,990 --> 00:09:01,840
‫in questo abbiamo qualche passaggio aggiuntivo.

164
00:09:01,840 --> 00:09:04,170
‫Quindi abbiamo questo codice che

165
00:09:04,170 --> 00:09:07,330
‫non è nemmeno nella nostra funzione generica createOne.

166
00:09:07,330 --> 00:09:09,165
‫E quindi, come possiamo risolverlo?

167
00:09:09,165 --> 00:09:11,800
‫Bene, possiamo effettivamente creare un

168
00:09:11,800 --> 00:09:15,610
‫middleware che verrà eseguito prima di createReview, ok?

169
00:09:15,610 --> 00:09:19,170
‫E quindi, questo in realtà lo rende anche un po' più disaccoppiato.

170
00:09:19,170 --> 00:09:22,610
‫Quindi, in pratica, questo codice qui avrà una sua funzione

171
00:09:22,610 --> 00:09:23,960
‫e sarà

172
00:09:23,960 --> 00:09:26,430
‫davvero disaccoppiato da createReview, perché in realtà

173
00:09:26,430 --> 00:09:28,550
‫non ha molto a che fare

174
00:09:28,550 --> 00:09:30,400
‫con la creazione della recensione.

175
00:09:30,400 --> 00:09:32,630
‫Imposta semplicemente alcuni dati, giusto?

176
00:09:32,630 --> 00:09:37,627
‫Quindi, chiamiamo questo set tour e ID utente.

177
00:09:41,720 --> 00:09:44,173
‫Quindi richiesta, ah, manca la risposta.

178
00:09:47,200 --> 00:09:48,504
‫Va bene?

179
00:09:48,504 --> 00:09:50,110
‫E tutto ciò

180
00:09:50,110 --> 00:09:53,730
‫che faremo qui è sostanzialmente impostare questi ID sul corpo

181
00:09:53,730 --> 00:09:56,100
‫e poi passare direttamente al prossimo

182
00:09:56,100 --> 00:09:58,660
‫middleware, dove verrà effettivamente creata la revisione.

183
00:09:58,660 --> 00:09:59,650
‫Bene?

184
00:09:59,650 --> 00:10:01,350
‫Quindi, prima

185
00:10:01,350 --> 00:10:04,430
‫di dimenticarlo, aggiungiamo effettivamente questo middleware.

186
00:10:04,430 --> 00:10:08,993
‫Quindi nei percorsi di revisione, è proprio qui nel post.

187
00:10:10,780 --> 00:10:13,467
‫Quindi reviewController, setTourUserIds.

188
00:10:15,700 --> 00:10:16,533
‫Va bene?

189
00:10:16,533 --> 00:10:20,073
‫Quindi ancora un'altra funzione middleware in questo stack.

190
00:10:22,020 --> 00:10:22,853
‫Va bene.

191
00:10:22,853 --> 00:10:26,620
‫Ad ogni modo, allora liberiamoci di quello che abbiamo qui

192
00:10:26,620 --> 00:10:28,610
‫perché questo è facilmente

193
00:10:28,610 --> 00:10:32,300
‫sostituibile con la nostra funzione di fabbrica, ancora una volta.

194
00:10:32,300 --> 00:10:37,300
‫Quindi createOne, quindi Review, e il gioco è fatto.

195
00:10:39,660 --> 00:10:40,493
‫Va bene.

196
00:10:41,540 --> 00:10:43,483
‫E solo per testare se funziona

197
00:10:44,740 --> 00:10:47,883
‫ancora, andiamo avanti e creiamo una nuova recensione su Tour.

198
00:10:49,656 --> 00:10:50,489
‫Va bene?

199
00:10:50,489 --> 00:10:52,463
‫E per questo, abbiamo bisogno degli ID del tour,

200
00:10:54,120 --> 00:10:55,903
‫quindi diciamo anche Ottieni tutti i tour.

201
00:10:58,310 --> 00:11:02,500
‫E ora otteniamo che l'appartenenza dell'utente non esiste più, quindi andiamo semplicemente

202
00:11:02,500 --> 00:11:04,600
‫avanti e accediamo di nuovo.

203
00:11:06,020 --> 00:11:07,753
‫Quindi prendi un nuovo token qui.

204
00:11:08,600 --> 00:11:10,933
‫E così, ci siamo, come amministratore.

205
00:11:12,253 --> 00:11:16,490
‫Quindi ora, Ottieni tutti i tour, ci siamo.

206
00:11:16,490 --> 00:11:19,423
‫Scegliamone solo uno.

207
00:11:20,330 --> 00:11:21,980
‫Quindi diciamo, l'escursionista della foresta.

208
00:11:21,980 --> 00:11:25,720
‫Penso che questo abbia già alcune recensioni, vero?

209
00:11:25,720 --> 00:11:26,830
‫Oh no, non è così.

210
00:11:26,830 --> 00:11:29,343
‫Quindi questo è buono per provarlo ora.

211
00:11:30,539 --> 00:11:34,773
‫E così, Crea una nuova recensione in tour.

212
00:11:35,930 --> 00:11:39,110
‫Ricorda, dobbiamo cambiare l'ID qui.

213
00:11:39,110 --> 00:11:40,610
‫E ora possiamo pubblicare

214
00:11:40,610 --> 00:11:43,520
‫questa recensione solo con la valutazione e la recensione.

215
00:11:43,520 --> 00:11:45,330
‫Ma penso che in

216
00:11:45,330 --> 00:11:48,260
‫realtà non funzionerà perché abbiamo effettuato l'accesso come

217
00:11:48,260 --> 00:11:51,410
‫amministratore e solo gli utenti regolari possono pubblicare recensioni.

218
00:11:51,410 --> 00:11:52,243
‫Va bene?

219
00:11:54,550 --> 00:11:57,163
‫Va bene, allora continuiamo a farlo qui.

220
00:11:58,810 --> 00:11:59,963
‫Strabiliante.

221
00:12:01,270 --> 00:12:04,850
‫Ma avremo questo errore che stavo appena dicendo.

222
00:12:04,850 --> 00:12:07,850
‫Quindi non hai il permesso di esibirti.

223
00:12:07,850 --> 00:12:09,620
‫Quindi, dobbiamo accedere

224
00:12:09,620 --> 00:12:12,670
‫di nuovo, questa volta come utente diverso.

225
00:12:12,670 --> 00:12:16,093
‫E diamo un'occhiata a quale abbiamo, in realtà.

226
00:12:20,010 --> 00:12:21,110
‫Ah ok.

227
00:12:21,110 --> 00:12:23,433
‫Quindi usiamo solo test.

228
00:12:25,100 --> 00:12:28,563
‫O forse test era quello con la password sbagliata.

229
00:12:30,020 --> 00:12:30,963
‫Ma vediamo.

230
00:12:33,477 --> 00:12:34,310
‫Ah sì.

231
00:12:34,310 --> 00:12:36,473
‫Quindi proviamo con testuser.

232
00:12:39,206 --> 00:12:40,290
‫E questo funziona.

233
00:12:40,290 --> 00:12:43,700
‫E quindi, in realtà, possiamo procedere e cancellare

234
00:12:43,700 --> 00:12:47,063
‫quest'altro perché ho dimenticato la sua password.

235
00:12:48,890 --> 00:12:50,137
‫Va bene.

236
00:12:50,137 --> 00:12:51,060
‫E in questo caso non c'è problema.

237
00:12:51,060 --> 00:12:54,110
‫Possiamo semplicemente eliminare gli utenti a nostro piacimento poiché siamo

238
00:12:54,110 --> 00:12:56,012
‫solo in fase di sviluppo.

239
00:12:56,012 --> 00:12:57,200
‫Va bene?

240
00:12:57,200 --> 00:13:00,203
‫Ora dovremmo essere in grado di aggiungere effettivamente questa recensione.

241
00:13:02,930 --> 00:13:05,310
‫E infatti, ci siamo.

242
00:13:05,310 --> 00:13:06,143
‫Perfetto.

243
00:13:06,143 --> 00:13:08,560
‫Quindi questo conclude questa lezione.

244
00:13:08,560 --> 00:13:10,200
‫Tutto ciò che dobbiamo fare

245
00:13:10,200 --> 00:13:12,160
‫nel prossimo è quindi creare le

246
00:13:12,160 --> 00:13:15,490
‫funzioni di fabbrica per ottenerne uno e ottenere tutti i documenti

247
00:13:15,490 --> 00:13:16,973
‫di una determinata risorsa.

