All language subtitles for 014 Adding a Nested GET Endpoint_Downloadly.ir_en

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian Download
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:01,290 --> 00:00:02,850 So, in the last two videos, 2 00:00:02,850 --> 00:00:05,580 we created a nested POST endpoint 3 00:00:05,580 --> 00:00:08,910 in order to create new reviews on a certain tour. 4 00:00:08,910 --> 00:00:10,420 So, let's now build upon that, 5 00:00:10,420 --> 00:00:13,113 and also create a nested GET endpoint. 6 00:00:14,860 --> 00:00:17,290 So we already have our getAllReviews 7 00:00:17,290 --> 00:00:19,570 handler function implemented, right? 8 00:00:19,570 --> 00:00:22,940 But right now, all it does is to basically get an array 9 00:00:22,940 --> 00:00:26,040 of all the reviews in the review collection. 10 00:00:26,040 --> 00:00:29,020 Now, a common use case for your API 11 00:00:29,020 --> 00:00:32,030 might be to get an array of all the reviews 12 00:00:32,030 --> 00:00:34,500 of one particular tour, so very similar 13 00:00:34,500 --> 00:00:37,080 to the createReview, right? 14 00:00:37,080 --> 00:00:39,750 So basically similar to this route here, 15 00:00:39,750 --> 00:00:41,840 but except with GET. 16 00:00:41,840 --> 00:00:46,590 So, basically something like this, okay? 17 00:00:46,590 --> 00:00:49,330 And so, all we need to do in order to implement this 18 00:00:49,330 --> 00:00:51,640 is to do some simple changes 19 00:00:51,640 --> 00:00:54,880 to our getAllReviews handler function, right? 20 00:00:54,880 --> 00:00:57,760 Because right now, thanks to the merge params, 21 00:00:57,760 --> 00:01:02,290 and this kind of redirecting that we implemented here 22 00:01:02,290 --> 00:01:05,510 in the last video, so thanks to all that, 23 00:01:05,510 --> 00:01:09,070 this getAllReviews handler function will now automatically 24 00:01:09,070 --> 00:01:11,660 get called whenever there is a GET request 25 00:01:11,660 --> 00:01:14,020 for a URL that looks like this, 26 00:01:14,020 --> 00:01:17,060 and will also get access to the tourId, 27 00:01:17,060 --> 00:01:20,950 and again, thanks to mergeParams set to true. 28 00:01:20,950 --> 00:01:21,783 All right? 29 00:01:21,783 --> 00:01:26,783 So let's just do some very simple changes here, all right? 30 00:01:27,080 --> 00:01:29,080 And what we're going to do here is to check 31 00:01:29,080 --> 00:01:32,450 if there is a tourId, and if there is one, well, 32 00:01:32,450 --> 00:01:34,540 then we're only going to search for reviews 33 00:01:34,540 --> 00:01:38,260 where the tour is equal to that tourId, okay? 34 00:01:38,260 --> 00:01:39,530 So, that's something that's very simple 35 00:01:39,530 --> 00:01:42,800 to implement using find, right? 36 00:01:42,800 --> 00:01:46,600 So basically, what we're doing is something like this. 37 00:01:46,600 --> 00:01:51,127 So, if there is request.params.tourId, 38 00:01:53,690 --> 00:01:56,230 then we want to create a filter object, 39 00:01:56,230 --> 00:01:59,100 which we will then later use right here. 40 00:01:59,100 --> 00:02:02,580 Let's actually put it here right away, 41 00:02:02,580 --> 00:02:05,820 and we also need to kind of initialize it. 42 00:02:05,820 --> 00:02:10,820 So, let filter, because we want to then mutate this, okay? 43 00:02:11,530 --> 00:02:14,460 So, if there is a tourId, then this filter 44 00:02:14,460 --> 00:02:15,710 should be equal to 45 00:02:17,880 --> 00:02:20,087 tour: req.params.tourId. 46 00:02:25,570 --> 00:02:28,740 Okay, and so, again, if there is a tourId, 47 00:02:28,740 --> 00:02:32,520 then basically, this object here is what will be here. 48 00:02:32,520 --> 00:02:34,610 And so then only the reviews where the tour 49 00:02:34,610 --> 00:02:37,090 matches the ID are going to be found. 50 00:02:37,090 --> 00:02:40,610 So if it's all regular API call without nested route, 51 00:02:40,610 --> 00:02:44,450 well then that filter will simply be this empty object, 52 00:02:44,450 --> 00:02:48,130 and so then we're gonna find all the reviews, okay? 53 00:02:48,130 --> 00:02:50,140 And, so, let's actually test this, 54 00:02:50,140 --> 00:02:54,423 because this is all we need to change here, all right? 55 00:02:56,030 --> 00:02:57,913 So, let's save this one, 56 00:02:59,100 --> 00:03:03,680 this one as well, all right? 57 00:03:03,680 --> 00:03:07,300 And so, to start, let's test if our getAllReviews, 58 00:03:07,300 --> 00:03:12,060 so the regular one, still works as intended, okay? 59 00:03:12,060 --> 00:03:15,830 So we get all the four reviews that are in our collection. 60 00:03:15,830 --> 00:03:17,373 Let's just verify that, 61 00:03:19,320 --> 00:03:22,803 and indeed there are four documents, okay? 62 00:03:23,800 --> 00:03:25,220 But now, let's actually create 63 00:03:25,220 --> 00:03:29,510 our nested getAllReviews route, okay? 64 00:03:29,510 --> 00:03:32,433 So, what I'm going to do is to copy this one. 65 00:03:35,270 --> 00:03:40,270 Okay, and then simply add reviews, okay? 66 00:03:40,460 --> 00:03:43,670 And so this tour is the City Wanderer, 67 00:03:43,670 --> 00:03:46,020 and it actually has one review. 68 00:03:46,020 --> 00:03:48,530 And so, we expect now to get an array 69 00:03:48,530 --> 00:03:51,340 with one object in there, okay? 70 00:03:51,340 --> 00:03:53,110 So, it just had one review. 71 00:03:53,110 --> 00:03:55,770 And indeed, that is exactly what we get. 72 00:03:55,770 --> 00:04:00,430 So these are all the reviews that are present on this tour, 73 00:04:00,430 --> 00:04:02,860 so, the tour with this ID. 74 00:04:02,860 --> 00:04:06,323 And, actually, that's pretty correct, right? 75 00:04:07,210 --> 00:04:11,220 Let's try another one, and I remember that this one, 76 00:04:11,220 --> 00:04:14,743 so the Forest Hiker, actually had I think two reviews. 77 00:04:15,990 --> 00:04:19,173 So let's see if that works as well. 78 00:04:21,000 --> 00:04:22,690 And so yeah, indeed. 79 00:04:22,690 --> 00:04:23,563 Here there are. 80 00:04:24,930 --> 00:04:26,340 All right? 81 00:04:26,340 --> 00:04:30,830 So let's save that, still in that tours/review folder, 82 00:04:30,830 --> 00:04:33,387 and so getAllReviews on tour. 83 00:04:39,840 --> 00:04:41,540 Okay, great. 84 00:04:41,540 --> 00:04:45,710 That's actually all I had to show you about nested routes. 85 00:04:45,710 --> 00:04:49,610 So next up, let's continue filling up our review controller, 86 00:04:49,610 --> 00:04:52,462 because right now we really only have getAllReviews 87 00:04:52,462 --> 00:04:54,350 and createReview. 88 00:04:54,350 --> 00:04:56,380 And so we also want to update, 89 00:04:56,380 --> 00:04:58,540 to delete, and all that stuff, 90 00:04:58,540 --> 00:05:01,253 and so let's take care of that in the next lecture. 7044

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.