﻿1
00:00:01,040 --> 00:00:02,140
‫Kursleiter: In

2
00:00:02,140 --> 00:00:05,610
‫diesem Video werden wir also weiterhin die Ressource der

3
00:00:05,610 --> 00:00:07,960
‫Bewertung implementieren und diesmal einen Endpunkt

4
00:00:07,960 --> 00:00:12,083
‫zum Abrufen aller Bewertungen und auch zum Erstellen neuer Bewertungen implementieren.

5
00:00:13,760 --> 00:00:16,970
‫An dieser Stelle wiederholen wir im Grunde nur Dinge, die

6
00:00:16,970 --> 00:00:20,040
‫wir bereits in den vorherigen Abschnitten gelernt haben.

7
00:00:20,040 --> 00:00:23,230
‫Und deshalb habe ich in diesem Video eine weitere Herausforderung für dich.

8
00:00:23,230 --> 00:00:26,690
‫Im Grunde möchte ich, dass Sie diese beiden Endpunkte

9
00:00:26,690 --> 00:00:28,720
‫implementieren, also einen Endpunkt zum

10
00:00:28,720 --> 00:00:32,800
‫Abrufen aller Überprüfungen und einen Endpunkt zum eigenständigen Erstellen neuer Überprüfungen.

11
00:00:32,800 --> 00:00:33,633
‫Okay?

12
00:00:33,633 --> 00:00:35,320
‫Erstellen Sie also

13
00:00:35,320 --> 00:00:37,970
‫die Controller-Datei, erstellen Sie dort die

14
00:00:37,970 --> 00:00:42,390
‫Controller-Funktionen und erstellen Sie dann auch die Routen in Ihrer Review-Routen-Datei.

15
00:00:42,390 --> 00:00:45,550
‫Und dann am Ende natürlich einige neue Bewertungen erstellen

16
00:00:45,550 --> 00:00:48,040
‫und diese auch mit Get all reviews

17
00:00:48,040 --> 00:00:50,090
‫aus der Datenbank abrufen.

18
00:00:50,090 --> 00:00:50,923
‫Gut.

19
00:00:50,923 --> 00:00:54,103
‫Also bitte pausiere das Video jetzt und mach dich an die Arbeit.

20
00:00:57,730 --> 00:00:58,563
‫Gut.

21
00:00:58,563 --> 00:01:01,600
‫Und nun bin ich an der Reihe, dies auch tatsächlich umzusetzen,

22
00:01:01,600 --> 00:01:03,993
‫und ich fange mit den Controller-Funktionen an.

23
00:01:06,690 --> 00:01:08,370
‫Genau hier erstellen

24
00:01:13,000 --> 00:01:15,130
‫wir also den Review Controller dot

25
00:01:15,130 --> 00:01:19,403
‫js, dann fangen wir natürlich damit an, den Review zu verlangen.

26
00:01:26,800 --> 00:01:31,253
‫Also eine Stufe höher, dann Modelle, dann Review-Modell.

27
00:01:36,810 --> 00:01:39,860
‫Holen Sie sich also alle Bewertungen, und wir verwenden

28
00:01:39,860 --> 00:01:42,030
‫den gleichen Namen wie immer.

29
00:01:42,030 --> 00:01:43,430
‫Rechts?

30
00:01:43,430 --> 00:01:44,860
‫Dann wissen wir bereits,

31
00:01:44,860 --> 00:01:47,800
‫dass dies eine asynchrone Funktion sein wird, da wir

32
00:01:47,800 --> 00:01:49,123
‫es hier mit

33
00:01:53,860 --> 00:01:57,270
‫der Datenbank zu tun haben, und außerdem müssen wir diese

34
00:01:57,270 --> 00:01:59,293
‫gesamte Funktion in die catch-Async-Funktion einschließen.

35
00:02:02,160 --> 00:02:05,763
‫Fangen Sie also Async an, ich glaube, so wird es genannt.

36
00:02:07,360 --> 00:02:08,313
‫Benötigen.

37
00:02:16,970 --> 00:02:17,803
‫Gut.

38
00:02:24,705 --> 00:02:29,288
‫Und jetzt holen wir einfach alle Bewertungen mit await ab

39
00:02:30,830 --> 00:02:34,823
‫und dann nur eine einfache Suche ohne Filter.

40
00:02:37,520 --> 00:02:42,520
‫Ein Status von 200 und dann an normales JSON zurücksenden.

41
00:02:45,890 --> 00:02:47,830
‫Status als Erfolg.

42
00:02:47,830 --> 00:02:49,670
‫Wir definieren auch

43
00:02:49,670 --> 00:02:52,583
‫die Ergebniseigenschaft mit der Punktlänge der Bewertungen

44
00:02:55,790 --> 00:02:58,373
‫und natürlich dann die Daten selbst.

45
00:03:00,170 --> 00:03:04,053
‫Speichern Sie hier und jetzt auf den nächsten.

46
00:03:05,740 --> 00:03:08,790
‫Erstellen Sie also eine Bewertung.

47
00:03:08,790 --> 00:03:10,100
‫Gut.

48
00:03:10,100 --> 00:03:12,120
‫Und Sie beginnen hier

49
00:03:12,120 --> 00:03:15,490
‫zu sehen, dass wir tatsächlich viel doppelten Code erstellen.

50
00:03:15,490 --> 00:03:17,690
‫Das alles sieht hier also im

51
00:03:17,690 --> 00:03:20,650
‫Grunde genauso aus wie für die Benutzer und

52
00:03:20,650 --> 00:03:21,810
‫für die Touren.

53
00:03:21,810 --> 00:03:22,800
‫Rechts?

54
00:03:22,800 --> 00:03:24,490
‫Und tatsächlich werden wir dies

55
00:03:24,490 --> 00:03:26,240
‫etwas später in diesem Abschnitt beheben.

56
00:03:26,240 --> 00:03:29,490
‫Aber im Moment möchte ich wirklich nur, dass es funktioniert.

57
00:03:29,490 --> 00:03:30,323
‫Okay?

58
00:03:30,323 --> 00:03:33,130
‫Machen Sie sich also vorerst keine Sorgen, all diesen

59
00:03:33,130 --> 00:03:34,793
‫doppelt aussehenden Code zu schreiben.

60
00:03:40,170 --> 00:03:41,090
‫Okay.

61
00:03:41,090 --> 00:03:43,863
‫Also nennen wir dies hier New

62
00:03:46,090 --> 00:03:51,090
‫Review, und dann verwenden wir wie immer Dot Create mit allen

63
00:03:52,040 --> 00:03:54,450
‫Daten, die vom Körper eingehen.

64
00:03:54,450 --> 00:03:55,283
‫Okay?

65
00:03:55,283 --> 00:03:58,220
‫Wenn es also Felder im Hauptteil gibt, die

66
00:03:58,220 --> 00:03:59,890
‫nicht im Überprüfungsschema

67
00:03:59,890 --> 00:04:02,240
‫enthalten sind, werden sie einfach ignoriert.

68
00:04:02,240 --> 00:04:03,810
‫Aus diesem Grund ist

69
00:04:03,810 --> 00:04:05,690
‫es sicher, dies beim Erstellen einer

70
00:04:05,690 --> 00:04:07,750
‫neuen Ressource einfach so zu tun.

71
00:04:07,750 --> 00:04:08,950
‫Gut?

72
00:04:08,950 --> 00:04:11,853
‫Wie auch immer, senden wir es jetzt wie immer an den Client zurück.

73
00:04:13,380 --> 00:04:16,613
‫Also mit einem Status von 201

74
00:04:26,600 --> 00:04:30,260
‫für erstellt und Review sollte das neue

75
00:04:31,820 --> 00:04:33,090
‫Review sein.

76
00:04:33,090 --> 00:04:33,923
‫Gut.

77
00:04:35,410 --> 00:04:39,970
‫Eigentlich ohne den Doppelpunkt, Semikolon und so ja.

78
00:04:39,970 --> 00:04:41,630
‫Das sind alles Controller.

79
00:04:41,630 --> 00:04:43,843
‫Kommen wir nun zur Route.

80
00:04:46,240 --> 00:04:47,090
‫Überprüfen Sie

81
00:04:48,750 --> 00:04:50,393
‫also Routes dot js.

82
00:04:51,810 --> 00:04:53,210
‫Und hier beginnen

83
00:04:53,210 --> 00:04:55,693
‫wir natürlich mit der Anforderung unseres

84
00:05:06,110 --> 00:05:08,220
‫Controllers und den Controllern und

85
00:05:08,220 --> 00:05:10,053
‫überprüfen Controller dot js.

86
00:05:12,900 --> 00:05:15,633
‫Als nächstes müssen wir unseren Router erstellen.

87
00:05:17,970 --> 00:05:21,800
‫Also Express, und natürlich müssen wir hier

88
00:05:21,800 --> 00:05:23,590
‫auch Express importieren.

89
00:05:23,590 --> 00:05:25,973
‫Also lass uns das tun, bevor wir etwas anderes tun.

90
00:05:32,510 --> 00:05:33,913
‫Ausdrücken.

91
00:05:39,360 --> 00:05:42,523
‫Also dot Router, und ich denke, so funktioniert es.

92
00:05:44,350 --> 00:05:45,540
‫Und jetzt

93
00:05:47,080 --> 00:05:48,770
‫Router und definieren Sie unsere

94
00:05:50,180 --> 00:05:54,430
‫Route und dies ist wieder im Grunde die Route der Bewertungen.

95
00:05:54,430 --> 00:05:55,263
‫Okay.

96
00:05:55,263 --> 00:05:57,090
‫Denn denken Sie daran, wie

97
00:05:57,090 --> 00:05:58,600
‫wir im nächsten

98
00:05:58,600 --> 00:06:01,700
‫Schritt diesen Router tatsächlich in API-Slash-Reviews einbinden werden.

99
00:06:01,700 --> 00:06:02,533
‫Okay?

100
00:06:02,533 --> 00:06:05,920
‫So wie wir es mit den Touren und den Benutzern gemacht haben.

101
00:06:05,920 --> 00:06:09,260
‫Und das sollten wir eigentlich tun, bevor wir etwas anderes tun.

102
00:06:09,260 --> 00:06:10,093
‫Okay?

103
00:06:10,093 --> 00:06:12,210
‫Also nur, um diese Verwirrung zu beseitigen,

104
00:06:12,210 --> 00:06:13,950
‫die Sie möglicherweise haben.

105
00:06:13,950 --> 00:06:16,573
‫Lassen Sie uns den Router von hier aus exportieren.

106
00:06:21,516 --> 00:06:22,349
‫Okay?

107
00:06:22,349 --> 00:06:24,500
‫Und so können wir jetzt zu

108
00:06:24,500 --> 00:06:26,063
‫app dot js übergehen.

109
00:06:27,600 --> 00:06:30,290
‫Und dann natürlich unseren Router hier importieren.

110
00:06:37,571 --> 00:06:38,571
‫Und

111
00:06:42,320 --> 00:06:44,210
‫verlangen, überprüfen Routen.

112
00:06:44,210 --> 00:06:45,170
‫Okay?

113
00:06:45,170 --> 00:06:47,790
‫Und so kommen wir jetzt hier

114
00:06:47,790 --> 00:06:51,600
‫runter und montieren diesen Router auf einem neuen Weg.

115
00:06:51,600 --> 00:06:53,910
‫Und dieser Weg wird

116
00:06:53,910 --> 00:06:56,400
‫wie gesagt der API-Slash V1-Slash-Review

117
00:06:57,790 --> 00:06:58,623
‫sein.

118
00:06:59,740 --> 00:07:00,573
‫Okay.

119
00:07:00,573 --> 00:07:02,580
‫Und so ist dieser

120
00:07:02,580 --> 00:07:05,670
‫Router, den wir jetzt angeben, im Grunde eine

121
00:07:05,670 --> 00:07:08,420
‫Middleware, die wir auf diesem Pfad mounten.

122
00:07:08,420 --> 00:07:09,253
‫Okay?

123
00:07:09,253 --> 00:07:10,770
‫Immer wenn es also

124
00:07:10,770 --> 00:07:13,650
‫eine Anfrage mit einer URL gibt, die so

125
00:07:13,650 --> 00:07:15,430
‫beginnt, wird diese Middleware-Funktion hier

126
00:07:15,430 --> 00:07:16,890
‫grundsätzlich aufgerufen.

127
00:07:16,890 --> 00:07:18,640
‫Und das ist dann

128
00:07:18,640 --> 00:07:20,910
‫unser Router und da drin nur

129
00:07:20,910 --> 00:07:23,230
‫die Slash-Route, also nur die Wurzel

130
00:07:23,230 --> 00:07:26,510
‫im Grunde wird dann diese API V1 Reviews sein.

131
00:07:26,510 --> 00:07:27,430
‫Okay?

132
00:07:27,430 --> 00:07:31,200
‫Also genau wie wir es gemacht haben, bevor wir die anderen beiden Ressourcen haben.

133
00:07:31,200 --> 00:07:34,020
‫Also Tour Model, da haben wir nicht gearbeitet.

134
00:07:34,020 --> 00:07:36,223
‫Wir arbeiteten an der Bewertung von Routen.

135
00:07:37,190 --> 00:07:38,360
‫Okay.

136
00:07:38,360 --> 00:07:39,840
‫Also haben wir eine Route angegeben.

137
00:07:39,840 --> 00:07:42,240
‫Lassen Sie uns nun die Methode angeben, für

138
00:07:42,240 --> 00:07:44,283
‫die wir unsere Funktion angeben.

139
00:07:45,370 --> 00:07:48,240
‫Also haben wir bekommen, und

140
00:07:49,290 --> 00:07:50,950
‫dafür haben wir

141
00:07:50,950 --> 00:07:55,440
‫die Rezension verwendet oder wir haben sie tatsächlich

142
00:07:55,440 --> 00:07:56,273
‫umgeschrieben.

143
00:07:56,273 --> 00:07:59,480
‫Und dann haben wir auch noch

144
00:08:02,180 --> 00:08:04,370
‫Post für Review erstellen.

145
00:08:04,370 --> 00:08:05,203
‫Okay?

146
00:08:05,203 --> 00:08:06,420
‫Sparen Sie.

147
00:08:06,420 --> 00:08:08,940
‫Und eigentlich möchten wir, dass nur authentifizierte

148
00:08:08,940 --> 00:08:11,010
‫Benutzer Bewertungen abgeben können.

149
00:08:11,010 --> 00:08:14,960
‫Und auch nur Benutzer, die tatsächlich regelmäßige Benutzer sind.

150
00:08:14,960 --> 00:08:18,210
‫Also keine Administratoren und auch keine Reiseleiter.

151
00:08:18,210 --> 00:08:19,043
‫Okay?

152
00:08:19,043 --> 00:08:21,060
‫Wie können wir das also umsetzen?

153
00:08:21,060 --> 00:08:23,820
‫Erinnern wir uns an unseren Abschnitt zur Authentifizierung.

154
00:08:23,820 --> 00:08:26,913
‫Also beginnen wir damit, dass wir unseren Authentifizierungscontroller benötigen.

155
00:08:36,320 --> 00:08:39,860
‫Also nochmal Controller und Authentifizierungscontroller.

156
00:08:39,860 --> 00:08:41,420
‫Und jetzt müssen

157
00:08:41,420 --> 00:08:43,450
‫wir nur noch die Middleware-Funktionen verwenden,

158
00:08:43,450 --> 00:08:45,140
‫die wir dort spezifiziert haben.

159
00:08:45,140 --> 00:08:46,280
‫Erinnern.

160
00:08:46,280 --> 00:08:50,640
‫Also verwenden wir zuerst die Protect-Middleware, also auth Controller dot protect

161
00:08:50,640 --> 00:08:51,950
‫und dies wird

162
00:08:53,150 --> 00:08:54,400
‫es so

163
00:08:54,400 --> 00:08:57,260
‫machen, dass wir diese Route so

164
00:08:57,260 --> 00:09:00,520
‫schützen, dass nur authentifizierte Benutzer darauf zugreifen können.

165
00:09:00,520 --> 00:09:01,353
‫Rechts?

166
00:09:01,353 --> 00:09:02,697
‫Und dann sagen

167
00:09:02,697 --> 00:09:05,170
‫wir im nächsten Schritt, dass wir

168
00:09:06,020 --> 00:09:08,830
‫diese Route einschränken möchten, also verwenden wir unsere

169
00:09:08,830 --> 00:09:12,273
‫Middleware beschränken auf nur Benutzer mit der Rolle des Benutzers.

170
00:09:14,100 --> 00:09:14,980
‫Gut?

171
00:09:14,980 --> 00:09:18,070
‫Also, wir haben das hier schon ein paar Mal gemacht.

172
00:09:18,070 --> 00:09:21,680
‫Und daher an dieser Stelle nicht wirklich etwas Neues.

173
00:09:21,680 --> 00:09:22,513
‫Okay.

174
00:09:22,513 --> 00:09:24,490
‫Ich denke, wir haben alle Schritte befolgt.

175
00:09:24,490 --> 00:09:27,650
‫Wir haben also zunächst ein Modell, mit dem wir

176
00:09:27,650 --> 00:09:29,420
‫neue Dokumente erstellen können.

177
00:09:29,420 --> 00:09:31,430
‫Dann haben wir unsere Controller-Funktionen in

178
00:09:31,430 --> 00:09:34,550
‫unserem Controller definiert, um alle Bewertungen zu erhalten

179
00:09:34,550 --> 00:09:36,460
‫und Bewertungen zu erstellen.

180
00:09:36,460 --> 00:09:38,820
‫Dann haben wir diese Controller-Funktionen oder Handler-Funktionen,

181
00:09:38,820 --> 00:09:39,910
‫wie Sie

182
00:09:39,910 --> 00:09:41,370
‫sie auch nennen können,

183
00:09:41,370 --> 00:09:43,560
‫verwendet, um einige neue Routen zu erstellen.

184
00:09:43,560 --> 00:09:44,393
‫Okay?

185
00:09:44,393 --> 00:09:46,500
‫Und so haben wir eine Route erstellt, um Bewertungen

186
00:09:46,500 --> 00:09:48,000
‫zu erhalten und Bewertungen zu veröffentlichen.

187
00:09:48,000 --> 00:09:49,690
‫Und genau wie zuvor

188
00:09:49,690 --> 00:09:52,330
‫haben wir dies im Grunde in einer Mini-Unteranwendung getan,

189
00:09:52,330 --> 00:09:54,130
‫die nur für Bewertungen gedacht ist.

190
00:09:54,130 --> 00:09:56,630
‫Aus diesem Grund haben wir unseren

191
00:09:56,630 --> 00:09:59,620
‫neuen Router erstellt, den wir dann in unsere Hauptanwendung

192
00:09:59,620 --> 00:10:02,660
‫importiert und auf dieser URL gemountet haben, wo wir auf

193
00:10:02,660 --> 00:10:05,520
‫alles zugreifen möchten, was mit Bewertungen zu tun hat.

194
00:10:05,520 --> 00:10:06,600
‫Gut?

195
00:10:06,600 --> 00:10:09,793
‫Also, lassen Sie uns jetzt wirklich weitermachen und dies testen.

196
00:10:12,910 --> 00:10:14,560
‫Also mach ich weiter,

197
00:10:15,860 --> 00:10:18,680
‫kopiere das und erstelle hier einen neuen

198
00:10:18,680 --> 00:10:19,620
‫Tab

199
00:10:20,720 --> 00:10:22,040
‫und hier sind

200
00:10:22,040 --> 00:10:24,113
‫es Rezensionen und natürlich Post.

201
00:10:25,580 --> 00:10:26,970
‫Gut.

202
00:10:26,970 --> 00:10:29,080
‫Was müssen wir also eigentlich angeben, um

203
00:10:29,080 --> 00:10:30,963
‫eine neue Bewertung zu veröffentlichen?

204
00:10:34,090 --> 00:10:36,340
‫Wir brauchen also die Rezension selbst.

205
00:10:36,340 --> 00:10:37,173
‫Erinnern.

206
00:10:40,550 --> 00:10:42,103
‫Sagen wir also "erstaunliche Tour",

207
00:10:43,260 --> 00:10:44,770
‫dann die Bewertung

208
00:10:44,770 --> 00:10:46,470
‫und ich gebe hier fünf,

209
00:10:46,470 --> 00:10:48,883
‫und dann die Tour und die Benutzer-ID.

210
00:10:53,890 --> 00:10:54,723
‫Okay?

211
00:10:54,723 --> 00:10:58,970
‫Und so brauchen wir jetzt die ID einer der Touren.

212
00:10:58,970 --> 00:10:59,803
‫Okay?

213
00:10:59,803 --> 00:11:02,670
‫Also lasst uns die erste richtige Tour

214
00:11:02,670 --> 00:11:06,583
‫hier verwenden, sagen wir, also lasst uns diesen Meeresforscher benutzen.

215
00:11:07,480 --> 00:11:08,313
‫Gut?

216
00:11:09,380 --> 00:11:10,213
‫Also,

217
00:11:12,500 --> 00:11:14,660
‫die ID des Meeresforschers und

218
00:11:14,660 --> 00:11:16,575
‫jetzt brauchen wir natürlich auch

219
00:11:16,575 --> 00:11:20,080
‫noch die ID des Benutzers, der die Bewertung abgibt.

220
00:11:20,080 --> 00:11:21,380
‫Und das können

221
00:11:21,380 --> 00:11:23,130
‫wir hier von allen Benutzern abrufen.

222
00:11:23,130 --> 00:11:25,640
‫Und so haben wir eigentlich nur einen Benutzer,

223
00:11:25,640 --> 00:11:27,470
‫der ein normaler Benutzer ist.

224
00:11:27,470 --> 00:11:31,303
‫Also dieser Jonas hier und so holen wir uns diese ID.

225
00:11:32,190 --> 00:11:33,370
‫Gut?

226
00:11:33,370 --> 00:11:35,020
‫Denken Sie jetzt daran, dass

227
00:11:35,020 --> 00:11:36,730
‫dieser Benutzer tatsächlich angemeldet sein muss.

228
00:11:36,730 --> 00:11:37,563
‫Okay?

229
00:11:37,563 --> 00:11:39,150
‫Und so erhalten wir

230
00:11:39,150 --> 00:11:42,180
‫etwas später dann tatsächlich automatisch die Benutzer-ID des

231
00:11:42,180 --> 00:11:43,670
‫bereits eingeloggten Benutzers.

232
00:11:43,670 --> 00:11:46,980
‫Denken Sie daran, dass wir dies tun können, da die

233
00:11:46,980 --> 00:11:49,790
‫Protect-Middleware den Benutzer auf das Anforderungsobjekt setzt.

234
00:11:49,790 --> 00:11:50,930
‫Erinnere dich daran?

235
00:11:50,930 --> 00:11:53,640
‫Aber vorerst wollte ich es hier einfach

236
00:11:53,640 --> 00:11:55,220
‫halten, und so müssen

237
00:11:55,220 --> 00:11:58,800
‫wir bei der aktuellen Implementierung tatsächlich auch die Benutzer-ID angeben.

238
00:11:58,800 --> 00:11:59,633
‫Okay?

239
00:11:59,633 --> 00:12:02,390
‫Trotzdem müssen wir uns als normaler Benutzer anmelden,

240
00:12:02,390 --> 00:12:05,130
‫da wir diese Route geschützt haben.

241
00:12:05,130 --> 00:12:06,490
‫Erinnere dich daran?

242
00:12:06,490 --> 00:12:09,713
‫Also lassen Sie uns einfach ein paar davon schließen.

243
00:12:14,207 --> 00:12:15,040
‫Okay?

244
00:12:17,368 --> 00:12:18,701
‫Und logge dich hier ein.

245
00:12:19,630 --> 00:12:24,080
‫Und das tun wir als, also hallo dot Jonas bei IO

246
00:12:26,500 --> 00:12:27,430
‫so hallo.

247
00:12:27,430 --> 00:12:29,850
‫Und sein Passwort ist wahrscheinlich und ich hoffe, es

248
00:12:29,850 --> 00:12:31,053
‫ist immer noch dasselbe.

249
00:12:32,530 --> 00:12:36,430
‫Und eigentlich ist es nicht so, versuchen wir es mit einem neuen Passwort, denn

250
00:12:36,430 --> 00:12:40,223
‫ich erinnere mich, dass ich dieses verwendet habe, als wir Passwörter geändert haben.

251
00:12:44,730 --> 00:12:47,240
‫Funktioniert immer noch nicht, also erstellen wir tatsächlich

252
00:12:47,240 --> 00:12:48,530
‫einen neuen Benutzer.

253
00:12:48,530 --> 00:12:49,363
‫Okay?

254
00:12:49,363 --> 00:12:52,850
‫Natürlich könnten wir an dieser Stelle das Passwort zurücksetzen, aber das ist

255
00:12:52,850 --> 00:12:54,320
‫ein bisschen zu viel

256
00:12:54,320 --> 00:12:56,760
‫Arbeit und deshalb werde ich einfach einen neuen Benutzer

257
00:12:56,760 --> 00:12:59,570
‫erstellen, damit es einfacher ist, es jetzt einfach zu testen.

258
00:12:59,570 --> 00:13:00,403
‫Okay?

259
00:13:02,330 --> 00:13:05,110
‫Verwenden wir also test bei Jonas dot IO und

260
00:13:05,110 --> 00:13:07,603
‫der Name hier wird test user sein.

261
00:13:10,810 --> 00:13:11,643
‫Gut.

262
00:13:13,150 --> 00:13:16,790
‫Oh, und wir haben diese E-Mail-Adresse bereits in unserer Datenbank und das

263
00:13:16,790 --> 00:13:17,740
‫ist seltsam.

264
00:13:19,460 --> 00:13:20,413
‫Wir haben Benutzer.

265
00:13:21,350 --> 00:13:24,190
‫Vielleicht war es das nicht, wir haben dies nicht richtig aktualisiert.

266
00:13:24,190 --> 00:13:27,130
‫Oh, aber vielleicht ist es ein gelöschter Benutzer.

267
00:13:27,130 --> 00:13:29,380
‫Also ein Benutzer, der nicht mehr aktiv

268
00:13:29,380 --> 00:13:31,620
‫ist und deshalb hier nicht auftaucht.

269
00:13:31,620 --> 00:13:34,750
‫Schauen wir uns das einfach im Kompass an.

270
00:13:34,750 --> 00:13:36,820
‫Und natürlich werden Sie

271
00:13:36,820 --> 00:13:40,730
‫im Entwicklungsmodus ständig auf diese Art von Problemen stoßen.

272
00:13:40,730 --> 00:13:43,660
‫Also hier, testet Jonas, und wie ich schon sagte,

273
00:13:43,660 --> 00:13:46,110
‫es ist tatsächlich einer dieser gelöschten Benutzer.

274
00:13:46,110 --> 00:13:48,640
‫Also aktiv auf false gesetzt.

275
00:13:48,640 --> 00:13:50,423
‫Versuchen wir es also noch einmal.

276
00:13:54,070 --> 00:13:56,663
‫Also auch hier einfach User testen.

277
00:13:57,710 --> 00:14:01,330
‫Also jetzt abschicken und jetzt sind wir eingeloggt.

278
00:14:01,330 --> 00:14:04,800
‫Und jetzt kopiere ich die ID dieses neuen Benutzers, um diese

279
00:14:04,800 --> 00:14:06,493
‫neue Bewertung zu erstellen.

280
00:14:08,470 --> 00:14:09,570
‫Gut?

281
00:14:09,570 --> 00:14:11,290
‫Lassen Sie es uns

282
00:14:11,290 --> 00:14:14,580
‫jetzt senden, und wir erhalten natürlich die Fehlermeldung, dass Sie

283
00:14:14,580 --> 00:14:16,330
‫nicht angemeldet sind, da wir

284
00:14:16,330 --> 00:14:18,590
‫unser JSON-Webtoken tatsächlich nicht bereitgestellt haben.

285
00:14:18,590 --> 00:14:21,140
‫Wir müssen also zur Autorisierung kommen,

286
00:14:21,140 --> 00:14:22,920
‫dann den Inhaber-Token und

287
00:14:22,920 --> 00:14:24,320
‫dann natürlich diesen.

288
00:14:25,860 --> 00:14:27,863
‫Also, wenn wir das jetzt noch einmal

289
00:14:29,690 --> 00:14:31,480
‫versuchen, dann geht es los.

290
00:14:31,480 --> 00:14:32,313
‫Okay.

291
00:14:32,313 --> 00:14:34,653
‫Lassen Sie uns eine andere für eine

292
00:14:35,930 --> 00:14:37,313
‫andere Tour erstellen, diesmal

293
00:14:39,370 --> 00:14:40,270
‫für

294
00:14:40,270 --> 00:14:42,560
‫die nächste, also für Forrest Hiker.

295
00:14:42,560 --> 00:14:44,253
‫Kopieren Sie also auch hier die ID.

296
00:14:46,490 --> 00:14:47,323
‫Ja.

297
00:14:47,323 --> 00:14:50,693
‫Hier wird der Benutzer derselbe sein, aber eine andere Tour.

298
00:14:51,590 --> 00:14:54,750
‫Geben wir ihm vier Sterne.

299
00:14:54,750 --> 00:14:58,147
‫Und sagen wir einfach "hat es geliebt. „Etwas

300
00:14:59,490 --> 00:15:02,812
‫ganz Einfaches und Okay.

301
00:15:04,120 --> 00:15:05,570
‫Speichern Sie das, und

302
00:15:05,570 --> 00:15:07,260
‫ich werde hier einen neuen

303
00:15:07,260 --> 00:15:09,290
‫Ordner für die Bewertungen erstellen und

304
00:15:14,310 --> 00:15:15,143
‫natürlich ist

305
00:15:16,690 --> 00:15:18,120
‫hier etwas schief gelaufen.

306
00:15:18,120 --> 00:15:19,920
‫Wo ist dieser Ordner?

307
00:15:19,920 --> 00:15:21,140
‫Mm.

308
00:15:21,140 --> 00:15:24,423
‫Es ist nirgendwo wirklich, also erstellen wir es einfach hier.

309
00:15:36,700 --> 00:15:39,323
‫Und wir können den Namen hier oben auch tatsächlich ändern.

310
00:15:40,520 --> 00:15:41,353
‫Erstellen Sie

311
00:15:43,790 --> 00:15:44,983
‫also eine neue Bewertung.

312
00:15:50,440 --> 00:15:51,400
‫Okay.

313
00:15:51,400 --> 00:15:54,543
‫Und jetzt wollen wir auch alle Bewertungen bekommen.

314
00:15:58,300 --> 00:16:00,503
‫Also brauchen wir diese beiden nicht mehr.

315
00:16:05,190 --> 00:16:07,720
‫Okay und das ist wirklich ein

316
00:16:07,720 --> 00:16:10,723
‫GET, und speichern wir es auch in Bewertungen.

317
00:16:17,870 --> 00:16:19,220
‫Holen Sie sich alle Bewertungen.

318
00:16:19,220 --> 00:16:22,210
‫Und das sollte genug sein, um uns anzufangen und

319
00:16:22,210 --> 00:16:24,660
‫wirklich alle unsere Bewertungen zu sehen.

320
00:16:24,660 --> 00:16:26,860
‫Okay, und los geht's.

321
00:16:26,860 --> 00:16:29,350
‫Lassen Sie uns einen Blick auf den Kompass

322
00:16:29,350 --> 00:16:31,810
‫werfen, und um die Bewertungen hier zu

323
00:16:31,810 --> 00:16:33,870
‫sehen, müssen wir die gesamte

324
00:16:33,870 --> 00:16:37,130
‫Datenbank neu laden, aber jetzt, wenn wir hier zu Bewertungen

325
00:16:37,130 --> 00:16:40,593
‫kommen, sehen wir tatsächlich unsere beiden Bewertungen, die ebenfalls erstellt wurden.

326
00:16:42,030 --> 00:16:43,150
‫Okay.

327
00:16:43,150 --> 00:16:45,040
‫Wie schaffen wir es

328
00:16:45,040 --> 00:16:48,000
‫nun, dass wir hier tatsächlich den Benutzer und die

329
00:16:48,000 --> 00:16:50,480
‫Tourdaten sehen und nicht nur die IDs?

330
00:16:50,480 --> 00:16:54,190
‫Nun, natürlich müssen wir wieder populate verwenden.

331
00:16:54,190 --> 00:16:55,050
‫Rechts?

332
00:16:55,050 --> 00:16:57,070
‫Und genau das werden wir im

333
00:16:57,070 --> 00:16:58,253
‫nächsten Video tun.

