﻿1
00:00:01,130 --> 00:00:04,270
‫Jonas : Continuons à créer quelques fonctions d'usine,

2
00:00:04,270 --> 00:00:07,793
‫cette fois pour mettre à jour et pour créer des ressources.

3
00:00:09,280 --> 00:00:11,750
‫Et donc, maintenant que nous savons déjà comment cela fonctionne,

4
00:00:11,750 --> 00:00:14,640
‫il est très simple de continuer à faire de même pour la

5
00:00:14,640 --> 00:00:15,543
‫mise à jour.

6
00:00:16,660 --> 00:00:18,413
‫Donc les exportations. updateOne,

7
00:00:21,200 --> 00:00:24,520
‫et reprenons le code à partir du

8
00:00:24,520 --> 00:00:25,993
‫contrôleur de tournée.

9
00:00:27,330 --> 00:00:28,832
‫D'accord.

10
00:00:28,832 --> 00:00:30,740
‫Et nous avons maintenant une tonne de

11
00:00:30,740 --> 00:00:33,022
‫fichiers ouverts parce que nous les modifions tous

12
00:00:33,022 --> 00:00:34,573
‫un peu en même temps.

13
00:00:36,860 --> 00:00:40,253
‫Alors copions ceci et

14
00:00:42,110 --> 00:00:43,850
‫collons-le ici.

15
00:00:43,850 --> 00:00:46,953
‫Et donc, ce qui nous intéresse, c'est, encore une fois, cette partie.

16
00:00:49,130 --> 00:00:50,530
‫D'accord.

17
00:00:50,530 --> 00:00:53,950
‫Et maintenant, bien sûr, nous devons créer cette fonction d'usine car

18
00:00:53,950 --> 00:00:56,130
‫nous ne voulons pas la renvoyer.

19
00:00:56,130 --> 00:00:58,120
‫Au lieu de cela, nous voulons

20
00:00:58,120 --> 00:01:01,210
‫retourner une fonction, qui à son tour va retourner ceci.

21
00:01:01,210 --> 00:01:02,043
‫Droit?

22
00:01:04,000 --> 00:01:06,240
‫C'est donc très simple.

23
00:01:06,240 --> 00:01:09,480
‫Nous utilisons une simple fonction de flèche où nous passons

24
00:01:09,480 --> 00:01:13,300
‫le modèle, puis renvoyons implicitement tout ce qui vient après la flèche.

25
00:01:13,300 --> 00:01:14,773
‫Alors, tout ça.

26
00:01:15,830 --> 00:01:16,663
‫D'accord.

27
00:01:17,690 --> 00:01:21,010
‫Donc, comme avant, remplaçons le modèle spécifique

28
00:01:21,010 --> 00:01:22,460
‫par un

29
00:01:22,460 --> 00:01:26,453
‫modèle général, puis remplaçons tout cela ici par document.

30
00:01:27,500 --> 00:01:31,030
‫Ou en fait, avec doc, comme nous le faisions avant.

31
00:01:31,030 --> 00:01:32,443
‫Et ici, ce n'est

32
00:01:33,640 --> 00:01:36,640
‫pas un document, et là-bas, là où nous envoyons réellement

33
00:01:36,640 --> 00:01:39,730
‫les données, ce serait bien de lui donner le nom de

34
00:01:39,730 --> 00:01:41,370
‫propriété des données que nous envoyons.

35
00:01:41,370 --> 00:01:46,370
‫Par exemple, les critiques, puis le document ou les visites.

36
00:01:48,340 --> 00:01:49,173
‫D'accord.

37
00:01:49,173 --> 00:01:52,600
‫Mais c'est un peu trop de travail pour le mettre en œuvre maintenant.

38
00:01:52,600 --> 00:01:55,630
‫Et donc, je vais simplement le laisser comme ça où j'ai

39
00:01:55,630 --> 00:01:57,670
‫envoyé, encore une fois, des données.

40
00:01:57,670 --> 00:01:58,660
‫D'accord.

41
00:01:58,660 --> 00:02:00,010
‫Ainsi sont allées nos données

42
00:02:00,010 --> 00:02:02,600
‫ici, et puis l'enveloppe là-dedans, encore une fois,

43
00:02:02,600 --> 00:02:03,923
‫va s'appeler données.

44
00:02:05,610 --> 00:02:06,443
‫D'accord.

45
00:02:06,443 --> 00:02:08,650
‫Et donc, cela devrait fonctionner

46
00:02:08,650 --> 00:02:12,240
‫maintenant parce que tout le reste est vraiment identique.

47
00:02:12,240 --> 00:02:15,936
‫Et donc, nous pouvons aller de l'avant, nous débarrasser de

48
00:02:15,936 --> 00:02:17,320
‫tout cela et simplement

49
00:02:18,420 --> 00:02:20,137
‫dire usine. updateOne, transmettez

50
00:02:22,260 --> 00:02:24,993
‫le modèle Tour et appelez-le un jour.

51
00:02:26,910 --> 00:02:28,060
‫D'accord?

52
00:02:28,060 --> 00:02:29,323
‫Donc, vraiment simple.

53
00:02:30,530 --> 00:02:32,643
‫Ensuite, la même chose pour les utilisateurs.

54
00:02:33,938 --> 00:02:36,920
‫Encore une fois, nous avons updateUser.

55
00:02:36,920 --> 00:02:39,190
‫Cet itinéraire n'est pas encore mis en œuvre.

56
00:02:39,190 --> 00:02:42,790
‫Et donc, remplaçons simplement tout cela ici par

57
00:02:42,790 --> 00:02:45,237
‫notre fonction d'usine updateOne.

58
00:02:46,800 --> 00:02:47,850
‫D'accord.

59
00:02:47,850 --> 00:02:51,030
‫Et donc, comme avant, cette fonction updateUser est

60
00:02:51,030 --> 00:02:53,600
‫réservée aux administrateurs, d'accord ?

61
00:02:53,600 --> 00:02:56,640
‫Et uniquement pour mettre à jour des données qui ne

62
00:02:56,640 --> 00:03:01,640
‫sont pas le mot de passe, car rappelez-vous, chaque fois que nous utilisons, où est-ce, donc

63
00:03:01,710 --> 00:03:05,240
‫chaque fois que nous utilisons findById et mise à jour, tous

64
00:03:05,240 --> 00:03:07,890
‫les middleware sécurisés ne sont pas exécutés.

65
00:03:07,890 --> 00:03:11,160
‫Alors rappelez-vous comment nous en avons parlé plusieurs fois.

66
00:03:11,160 --> 00:03:12,990
‫Et donc, encore une fois,

67
00:03:12,990 --> 00:03:17,498
‫il est vraiment important que nous n'essayions pas de modifier les mots de passe ici à

68
00:03:17,498 --> 00:03:19,710
‫l'aide de cet utilisateur de mise à jour.

69
00:03:19,710 --> 00:03:20,810
‫D'accord?

70
00:03:20,810 --> 00:03:22,360
‫Écrivons en fait cela ici.

71
00:03:27,640 --> 00:03:28,473
‫Avec ça.

72
00:03:30,070 --> 00:03:30,903
‫Super.

73
00:03:30,903 --> 00:03:32,460
‫Et maintenant, enfin, aussi,

74
00:03:32,460 --> 00:03:34,593
‫mettons-le dans le contrôleur de révision.

75
00:03:36,700 --> 00:03:37,533
‫D'accord.

76
00:03:38,420 --> 00:03:40,507
‫Donc les exportations. updateReview,

77
00:03:50,830 --> 00:03:53,260
‫puis notre Review.

78
00:03:53,260 --> 00:03:55,060
‫Alors celui-là est très simple.

79
00:03:55,060 --> 00:03:58,573
‫Allons maintenant de l'avant et ajoutons également ces itinéraires à Postman.

80
00:04:00,210 --> 00:04:01,703
‫Nous avons donc

81
00:04:02,840 --> 00:04:07,840
‫Delete Review, et maintenant ajoutons-le simplement ici en tant que PATCH.

82
00:04:08,020 --> 00:04:10,830
‫Et la chose dont nous avons également besoin pour implémenter la

83
00:04:10,830 --> 00:04:12,280
‫route dans le routeur d'examen.

84
00:04:12,280 --> 00:04:14,130
‫Alors faisons-le aussi.

85
00:04:14,130 --> 00:04:19,130
‫Mais d'abord, je vais l'enregistrer ici dans les critiques.

86
00:04:22,730 --> 00:04:25,443
‫Donc, mettez à jour l'examen.

87
00:04:28,090 --> 00:04:31,263
‫Donc ici, dans les routes de révision,

88
00:04:32,270 --> 00:04:35,223
‫nous devons ajouter la méthode patch, puis

89
00:04:37,580 --> 00:04:39,203
‫reviewController. updateReview.

90
00:04:44,610 --> 00:04:45,443
‫D'accord.

91
00:04:47,950 --> 00:04:51,410
‫Jetons donc un coup d'œil à l'une de ces

92
00:04:51,410 --> 00:04:55,913
‫critiques ici, disons celle-ci, et mettons à jour la note à quatre.

93
00:04:57,270 --> 00:04:58,103
‫D'accord.

94
00:05:00,470 --> 00:05:01,783
‫Donc le

95
00:05:09,060 --> 00:05:10,700
‫corps, réglez-le à quatre.

96
00:05:10,700 --> 00:05:12,093
‫Et envoyez-le maintenant.

97
00:05:13,760 --> 00:05:18,530
‫D'accord, et comme nous pouvons le voir, nous récupérons notre nouvelle critique

98
00:05:18,530 --> 00:05:22,070
‫avec la note mise à jour, comme prévu.

99
00:05:22,070 --> 00:05:24,950
‫Et encore une fois, nous allons nous occuper de l'autorisation un peu

100
00:05:24,950 --> 00:05:26,300
‫plus loin dans la section.

101
00:05:27,282 --> 00:05:29,963
‫Pour l'instant, je voulais juste que ça marche.

102
00:05:32,280 --> 00:05:37,280
‫Donc, utilisateurs, mettons maintenant à jour également les utilisateurs.

103
00:05:38,100 --> 00:05:38,933
‫D'accord?

104
00:05:42,640 --> 00:05:45,963
‫Alors GET, et PATCH.

105
00:05:47,930 --> 00:05:49,583
‫Alors, obtenons tous les utilisateurs ici.

106
00:05:53,970 --> 00:05:55,383
‫Disons celui-ci.

107
00:06:04,991 --> 00:06:06,413
‫Et changeons le

108
00:06:09,600 --> 00:06:10,640
‫nom

109
00:06:10,640 --> 00:06:14,443
‫en Administrateur, qui auparavant était simplement admin.

110
00:06:15,680 --> 00:06:16,513
‫D'accord?

111
00:06:18,420 --> 00:06:21,960
‫Et donc, celui-ci a également fonctionné.

112
00:06:21,960 --> 00:06:26,010
‫D'accord, encore une fois, j'enregistre tout cela ici dans ma collection car ensuite, un

113
00:06:26,010 --> 00:06:27,320
‫peu plus tard, je

114
00:06:27,320 --> 00:06:29,880
‫pourrai continuer et créer une documentation à partir

115
00:06:29,880 --> 00:06:32,673
‫de toutes ces données de collection que nous avons ici.

116
00:06:35,330 --> 00:06:36,863
‫Donc, mettez à

117
00:06:39,370 --> 00:06:42,740
‫jour l'utilisateur, mettez celui-ci ici et celui-ci ici.

118
00:06:42,740 --> 00:06:43,710
‫Parfait.

119
00:06:43,710 --> 00:06:46,800
‫Ainsi, la mise à jour des utilisateurs fonctionne désormais

120
00:06:46,800 --> 00:06:50,350
‫pour l'ensemble de nos trois ressources à l'aide de la fonction d'usine.

121
00:06:50,350 --> 00:06:52,980
‫Et donc, allons de l'avant et ajoutons le

122
00:06:52,980 --> 00:06:54,767
‫suivant, qui sera createOne.

123
00:06:57,979 --> 00:06:59,770
‫Alors exportez, createOne.

124
00:07:03,290 --> 00:07:04,983
‫Et encore, on passe dans le modèle.

125
00:07:05,840 --> 00:07:07,820
‫Et à partir de là, nous créons une nouvelle fonction.

126
00:07:07,820 --> 00:07:09,280
‫Et cela peut, encore

127
00:07:09,280 --> 00:07:11,103
‫une fois, le copier du Tour ici.

128
00:07:14,880 --> 00:07:15,713
‫D'accord.

129
00:07:17,420 --> 00:07:21,373
‫Et donc, ce dont nous avons besoin ici, c'est seulement cette partie.

130
00:07:23,580 --> 00:07:27,400
‫Donc modèle, et document.

131
00:07:27,400 --> 00:07:30,897
‫Et ici, nous l'appelons à nouveau des données.

132
00:07:30,897 --> 00:07:32,450
‫D'accord.

133
00:07:32,450 --> 00:07:34,890
‫Et donc, c'est en fait ça.

134
00:07:34,890 --> 00:07:36,620
‫C'est notre fonction d'usine.

135
00:07:36,620 --> 00:07:40,253
‫Et donc, encore une fois, venons ici et remplaçons-le.

136
00:07:41,830 --> 00:07:44,377
‫Donc usine. createOne, Tour.

137
00:07:48,860 --> 00:07:51,910
‫Vous voyez donc que notre code dans

138
00:07:51,910 --> 00:07:55,040
‫les contrôleurs est maintenant vraiment propre, n'est-ce pas ?

139
00:07:55,040 --> 00:07:57,970
‫Mais en fait, nous ne pourrons pas remplacer toutes les

140
00:07:57,970 --> 00:08:01,710
‫fonctions que nous avons ici par des usines, car sinon, nous n'aurions

141
00:08:01,710 --> 00:08:03,670
‫même pas besoin de ce fichier

142
00:08:03,670 --> 00:08:05,480
‫de contrôleur, n'est-ce pas ?

143
00:08:05,480 --> 00:08:08,750
‫Nous pourrions alors simplement créer ces gestionnaires à la volée, en gros,

144
00:08:08,750 --> 00:08:11,270
‫dans le fichier du routeur, n'est-ce pas ?

145
00:08:11,270 --> 00:08:13,947
‫Et donc, nous pourrions essentiellement sauter toute

146
00:08:13,947 --> 00:08:16,320
‫cette étape du fichier de contrôleur.

147
00:08:16,320 --> 00:08:17,600
‫Mais encore une fois, nous en

148
00:08:17,600 --> 00:08:19,730
‫avons toujours besoin parce que nous avons d'autres choses là-dedans.

149
00:08:19,730 --> 00:08:23,080
‫Par exemple, ces méthodes ici pour

150
00:08:23,080 --> 00:08:27,418
‫obtenir les statistiques de tournée, ou ce plan

151
00:08:27,418 --> 00:08:29,560
‫mensuel, et oui.

152
00:08:29,560 --> 00:08:33,750
‫Il est donc logique de conserver ce fichier, d'accord ?

153
00:08:33,750 --> 00:08:35,130
‫Ensuite, pour les

154
00:08:35,130 --> 00:08:37,930
‫utilisateurs, nous n'avons en fait pas besoin de createOne

155
00:08:37,930 --> 00:08:39,460
‫car, pour créer de nouveaux

156
00:08:39,460 --> 00:08:41,630
‫utilisateurs, nous avons déjà la fonction signUp,

157
00:08:41,630 --> 00:08:44,290
‫et nous ne pouvons pas vraiment la remplacer par

158
00:08:44,290 --> 00:08:47,240
‫une usine car elle est vraiment différente de celle générique.

159
00:08:47,240 --> 00:08:48,073
‫D'accord?

160
00:08:49,150 --> 00:08:54,140
‫Mais nous pouvons le faire dans le contrôleur de révision, d'accord ?

161
00:08:54,140 --> 00:08:58,230
‫Donc, fondamentalement, nous voulons remplacer ce createReview.

162
00:08:58,230 --> 00:08:59,990
‫Maintenant, vous voyez que, dans

163
00:08:59,990 --> 00:09:01,840
‫celui-ci, nous avons également une étape supplémentaire.

164
00:09:01,840 --> 00:09:04,170
‫Nous avons donc ce code qui

165
00:09:04,170 --> 00:09:07,330
‫n'est pas non plus dans notre fonction générique createOne.

166
00:09:07,330 --> 00:09:09,165
‫Et alors, comment pouvons-nous résoudre cela?

167
00:09:09,165 --> 00:09:11,800
‫Eh bien, nous pouvons en fait

168
00:09:11,800 --> 00:09:15,610
‫créer un middleware qui s'exécutera avant createReview, d'accord ?

169
00:09:15,610 --> 00:09:19,170
‫Et donc, cela le rend également un peu plus découplé.

170
00:09:19,170 --> 00:09:22,610
‫Donc, fondamentalement, ce code ici va alors être dans sa

171
00:09:22,610 --> 00:09:23,960
‫propre fonction, et

172
00:09:23,960 --> 00:09:26,430
‫vraiment découplé de createReview, car en fait,

173
00:09:26,430 --> 00:09:28,550
‫il n'a pas grand-chose à voir

174
00:09:28,550 --> 00:09:30,400
‫avec la création de la revue.

175
00:09:30,400 --> 00:09:32,630
‫Il définit simplement des données, non ?

176
00:09:32,630 --> 00:09:37,627
‫Et donc, appelons en fait ce tour d'ensemble et les identifiants d'utilisateur.

177
00:09:41,720 --> 00:09:44,173
‫Alors demande, ah, la réponse est manquante.

178
00:09:47,200 --> 00:09:48,504
‫D'accord?

179
00:09:48,504 --> 00:09:50,110
‫Et tout ce que

180
00:09:50,110 --> 00:09:53,730
‫nous allons faire ici est de définir ces identifiants sur le

181
00:09:53,730 --> 00:09:56,100
‫corps, puis de passer directement au

182
00:09:56,100 --> 00:09:58,660
‫middleware suivant, où l'examen est alors réellement créé.

183
00:09:58,660 --> 00:09:59,650
‫Bien?

184
00:09:59,650 --> 00:10:01,350
‫Donc, avant de

185
00:10:01,350 --> 00:10:04,430
‫l'oublier, ajoutons en fait ce middleware.

186
00:10:04,430 --> 00:10:08,993
‫Donc dans les parcours de révision, c'est ici en post.

187
00:10:10,780 --> 00:10:13,467
‫Donc reviewController, setTourUserIds.

188
00:10:15,700 --> 00:10:16,533
‫D'accord?

189
00:10:16,533 --> 00:10:20,073
‫Donc encore une autre fonction middleware dans cette pile.

190
00:10:22,020 --> 00:10:22,853
‫D'accord.

191
00:10:22,853 --> 00:10:26,620
‫Quoi qu'il en soit, débarrassons-nous ensuite de ce que nous

192
00:10:26,620 --> 00:10:28,610
‫avons ici car cela est

193
00:10:28,610 --> 00:10:32,300
‫facilement remplaçable par notre fonction d'usine, une fois de plus.

194
00:10:32,300 --> 00:10:37,300
‫Alors createOne, puis Review, et c'est tout.

195
00:10:39,660 --> 00:10:40,493
‫D'accord.

196
00:10:41,540 --> 00:10:43,483
‫Et juste pour tester si cela fonctionne

197
00:10:44,740 --> 00:10:47,883
‫toujours, allons simplement de l'avant et créons une nouvelle critique sur Tour.

198
00:10:49,656 --> 00:10:50,489
‫D'accord?

199
00:10:50,489 --> 00:10:52,463
‫Et pour cela, nous avons besoin des identifiants de

200
00:10:54,120 --> 00:10:55,903
‫tournée, alors disons également Get All Tours.

201
00:10:58,310 --> 00:11:02,500
‫Et maintenant, nous obtenons que l'appartenance de l'utilisateur n'existe plus,

202
00:11:02,500 --> 00:11:04,600
‫alors continuons simplement et reconnectons-nous.

203
00:11:06,020 --> 00:11:07,753
‫Alors obtenez un nouveau jeton ici.

204
00:11:08,600 --> 00:11:10,933
‫Et donc, nous y voilà, en tant qu'administrateur.

205
00:11:12,253 --> 00:11:16,490
‫Alors maintenant, Get All Tours, c'est parti.

206
00:11:16,490 --> 00:11:19,423
‫Choisissons simplement l'un d'entre eux.

207
00:11:20,330 --> 00:11:21,980
‫Alors disons, The Forest Hiker.

208
00:11:21,980 --> 00:11:25,720
‫Je pense que celui-ci a déjà quelques critiques, n'est-ce pas?

209
00:11:25,720 --> 00:11:26,830
‫Oh non, ce n'est pas le cas.

210
00:11:26,830 --> 00:11:29,343
‫Donc celui-ci est bon à essayer maintenant.

211
00:11:30,539 --> 00:11:34,773
‫Et donc, créez une nouvelle critique en tournée.

212
00:11:35,930 --> 00:11:39,110
‫N'oubliez pas que nous devons changer l'ID ici.

213
00:11:39,110 --> 00:11:40,610
‫Et maintenant, nous pouvons

214
00:11:40,610 --> 00:11:43,520
‫publier cette critique uniquement avec la note et la critique.

215
00:11:43,520 --> 00:11:45,330
‫Mais je pense que cela

216
00:11:45,330 --> 00:11:48,260
‫ne fonctionnera pas car nous sommes connectés en tant

217
00:11:48,260 --> 00:11:51,410
‫qu'administrateur et seuls les utilisateurs réguliers peuvent publier des avis.

218
00:11:51,410 --> 00:11:52,243
‫D'accord?

219
00:11:54,550 --> 00:11:57,163
‫Très bien, alors continuons de le faire ici.

220
00:11:58,810 --> 00:11:59,963
‫hallucinant.

221
00:12:01,270 --> 00:12:04,850
‫Mais nous allons avoir cette erreur que je viens de dire.

222
00:12:04,850 --> 00:12:07,850
‫Vous n'avez donc pas l'autorisation de jouer.

223
00:12:07,850 --> 00:12:09,620
‫Et donc, nous devons

224
00:12:09,620 --> 00:12:12,670
‫nous reconnecter, cette fois en tant qu'utilisateur différent.

225
00:12:12,670 --> 00:12:16,093
‫Et jetons un coup d'œil à celui que nous avons, en fait.

226
00:12:20,010 --> 00:12:21,110
‫Ah ok.

227
00:12:21,110 --> 00:12:23,433
‫Utilisons donc simplement test.

228
00:12:25,100 --> 00:12:28,563
‫Ou peut-être que test était celui avec le mauvais mot de passe.

229
00:12:30,020 --> 00:12:30,963
‫Mais voyons.

230
00:12:33,477 --> 00:12:34,310
‫Ah ouais.

231
00:12:34,310 --> 00:12:36,473
‫Expérimentons donc avec testuser.

232
00:12:39,206 --> 00:12:40,290
‫Et celui-ci fonctionne.

233
00:12:40,290 --> 00:12:43,700
‫Et donc, en fait, nous pouvons continuer et supprimer cet autre parce

234
00:12:43,700 --> 00:12:47,063
‫que j'ai en quelque sorte oublié son mot de passe.

235
00:12:48,890 --> 00:12:50,137
‫D'accord.

236
00:12:50,137 --> 00:12:51,060
‫Et dans ce cas, ce n'est pas un problème.

237
00:12:51,060 --> 00:12:54,110
‫Nous pouvons simplement supprimer des utilisateurs à notre guise puisque

238
00:12:54,110 --> 00:12:56,012
‫nous ne sommes qu'en développement.

239
00:12:56,012 --> 00:12:57,200
‫D'accord?

240
00:12:57,200 --> 00:13:00,203
‫Maintenant, nous devrions être en mesure d'ajouter cette critique.

241
00:13:02,930 --> 00:13:05,310
‫Et en effet, nous y voilà.

242
00:13:05,310 --> 00:13:06,143
‫Parfait.

243
00:13:06,143 --> 00:13:08,560
‫Voilà qui conclut cette conférence.

244
00:13:08,560 --> 00:13:10,200
‫Tout ce que nous devons

245
00:13:10,200 --> 00:13:12,160
‫faire dans le prochain est ensuite de

246
00:13:12,160 --> 00:13:15,490
‫créer les fonctions d'usine pour en obtenir un et obtenir tous les

247
00:13:15,490 --> 00:13:16,973
‫documents d'une certaine ressource.

