All language subtitles for 007 Refactoring for MVC_Downloadly.ir_en

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
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
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian Download
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:01,070 --> 00:00:03,610 We just learned a lot about MVC, 2 00:00:03,610 --> 00:00:06,447 and so lets now very quickly refactor our code 3 00:00:06,447 --> 00:00:09,763 in order to fit that architecture a bit better. 4 00:00:11,370 --> 00:00:15,150 And actually we already have our controller folder here, 5 00:00:15,150 --> 00:00:18,120 and the tour and user controllers in them, 6 00:00:18,120 --> 00:00:20,040 and we already have the routes 7 00:00:20,040 --> 00:00:21,550 here in the route folder. 8 00:00:21,550 --> 00:00:24,540 And so really what we need to do in this video 9 00:00:24,540 --> 00:00:26,200 is to create a model folder, 10 00:00:26,200 --> 00:00:29,490 and create a tour model in there. 11 00:00:29,490 --> 00:00:30,896 So, let's do that. 12 00:00:30,896 --> 00:00:33,590 (clicking) 13 00:00:33,590 --> 00:00:35,870 So, models and in there 14 00:00:38,660 --> 00:00:40,260 the tourModel.js 15 00:00:41,330 --> 00:00:42,733 Let's close out these guys, 16 00:00:44,240 --> 00:00:47,500 and so let's go ahead and copy, 17 00:00:47,500 --> 00:00:49,680 or cut actually, this schema 18 00:00:50,730 --> 00:00:52,743 and this entire model declaration here, 19 00:00:54,000 --> 00:00:56,293 and put it in the tour model. 20 00:00:58,000 --> 00:01:03,000 We will also want the Mongoose importing here. 21 00:01:05,209 --> 00:01:08,070 All right, and in fact, 22 00:01:08,070 --> 00:01:11,063 let's get completely rid of this code. 23 00:01:12,050 --> 00:01:14,290 All right, so this here was just for testing, 24 00:01:14,290 --> 00:01:16,420 and we don't need it anymore. 25 00:01:16,420 --> 00:01:18,610 So it has done its job, 26 00:01:18,610 --> 00:01:20,110 and so all we really want to do 27 00:01:20,110 --> 00:01:23,750 in this file here is to connect to the database, 28 00:01:23,750 --> 00:01:26,360 but everything that is about the models themselves, 29 00:01:26,360 --> 00:01:29,120 will always live inside of a file, 30 00:01:29,120 --> 00:01:30,893 inside of the models folder. 31 00:01:31,920 --> 00:01:34,640 All right, now in here eslint tells us 32 00:01:34,640 --> 00:01:36,452 that this variable here has not been used, 33 00:01:36,452 --> 00:01:38,400 but actually we want to use it 34 00:01:38,400 --> 00:01:41,823 because we want to export the model from this file. 35 00:01:44,700 --> 00:01:47,150 So module.exports, and this should actually 36 00:01:47,150 --> 00:01:50,530 be the only thing we export from this file, 37 00:01:50,530 --> 00:01:54,590 and so we use the kind of default export with module.exports 38 00:01:56,080 --> 00:01:59,340 Okay, and so this is our very simple tour model 39 00:01:59,340 --> 00:02:01,300 that we created in our last lecture, 40 00:02:01,300 --> 00:02:04,290 and now here we put it in it's own standalone file, 41 00:02:04,290 --> 00:02:07,100 and then finally exported it from here. 42 00:02:07,100 --> 00:02:10,669 Okay, now where do we actually need this tour. 43 00:02:10,669 --> 00:02:13,290 So, in other words, where are we actually going to create 44 00:02:13,290 --> 00:02:16,850 and query, and delete and update tours. 45 00:02:16,850 --> 00:02:20,643 Well we're going to do so in the tourController, right? 46 00:02:22,320 --> 00:02:23,350 So right here, 47 00:02:23,350 --> 00:02:27,233 and so let's go ahead and actually import the model in here. 48 00:02:28,200 --> 00:02:30,436 So right here at the top, 49 00:02:30,436 --> 00:02:32,540 (clicking) 50 00:02:32,540 --> 00:02:34,583 and I'm giving it the exact same name. 51 00:02:35,920 --> 00:02:37,720 So still tour, 52 00:02:37,720 --> 00:02:42,260 and now I want to require, so the current folder, 53 00:02:42,260 --> 00:02:44,250 then up one folder, 54 00:02:44,250 --> 00:02:47,163 and then down into the models folder, 55 00:02:48,110 --> 00:02:50,623 and in there, tour model. 56 00:02:53,210 --> 00:02:55,220 Okay, now of course it's telling me 57 00:02:55,220 --> 00:02:56,960 that I'm not using this variable, 58 00:02:56,960 --> 00:02:59,020 but don't worry about that for now. 59 00:02:59,020 --> 00:03:01,020 So, next up, I want to get rid 60 00:03:01,020 --> 00:03:04,790 of this place here where we actually import 61 00:03:04,790 --> 00:03:06,580 the data as a json file. 62 00:03:06,580 --> 00:03:08,660 So, of course, we no longer need this. 63 00:03:08,660 --> 00:03:10,960 This here was just for testing purposes. 64 00:03:10,960 --> 00:03:13,080 So let's get rid of it. 65 00:03:13,080 --> 00:03:14,770 You can also comment it out 66 00:03:14,770 --> 00:03:18,540 if you want to leave it maybe as a reference for yourself. 67 00:03:18,540 --> 00:03:20,903 Then just go ahead and comment it out. 68 00:03:22,770 --> 00:03:24,210 Then down here we get this error 69 00:03:24,210 --> 00:03:26,480 because the variable that we just deleted 70 00:03:26,480 --> 00:03:29,280 is no longer defined, 71 00:03:29,280 --> 00:03:32,410 and so let me comment out this piece of code here 72 00:03:32,410 --> 00:03:35,363 because, again, we're gonna need something similar to this. 73 00:03:37,230 --> 00:03:39,900 Okay, get tour, let's comment all 74 00:03:39,900 --> 00:03:44,330 of this here out as well just so that we don't get 75 00:03:44,330 --> 00:03:48,060 any errors as soon as we save this file. 76 00:03:48,060 --> 00:03:50,240 Then here, actually, we can get rid, 77 00:03:50,240 --> 00:03:52,400 well kind of, of all of this. 78 00:03:52,400 --> 00:03:55,210 So we're no longer gonna use any of this. 79 00:03:55,210 --> 00:03:57,010 So let me just keep this piece here. 80 00:03:58,080 --> 00:04:00,130 So I'm gonna copy it, 81 00:04:00,130 --> 00:04:01,780 delete everything else from this, 82 00:04:03,640 --> 00:04:05,240 and put it back here. 83 00:04:05,240 --> 00:04:06,610 We still got this error, 84 00:04:06,610 --> 00:04:09,693 and so I'm commenting out this piece of code. 85 00:04:10,690 --> 00:04:12,950 All right, and here we don't get any errors. 86 00:04:12,950 --> 00:04:15,693 So let's just leave it like this for now, okay? 87 00:04:15,693 --> 00:04:18,209 So what I just did here was to basically 88 00:04:18,209 --> 00:04:20,800 clean the code that we wrote before 89 00:04:20,800 --> 00:04:23,040 in order to no longer depend on the data 90 00:04:23,040 --> 00:04:24,853 that we had in the json file. 91 00:04:25,850 --> 00:04:28,990 All right, so now we should have no more errors, 92 00:04:28,990 --> 00:04:32,190 or actually we should in this checkID function, 93 00:04:32,190 --> 00:04:33,930 and this checkID function, we, 94 00:04:33,930 --> 00:04:37,070 in fact, no longer will need it, okay? 95 00:04:37,070 --> 00:04:39,460 Because from now on we're gonna start working 96 00:04:39,460 --> 00:04:42,930 with the IDs that are coming from MongoDB, 97 00:04:42,930 --> 00:04:45,540 and Mongo itself will give us an error 98 00:04:45,540 --> 00:04:48,046 if we use an invalid ID, 99 00:04:48,046 --> 00:04:50,800 and so this function that we have here 100 00:04:50,800 --> 00:04:53,260 was actually very useful for showing you 101 00:04:53,260 --> 00:04:54,940 how middleware actually works, 102 00:04:54,940 --> 00:04:57,930 by giving you this very practical example here, 103 00:04:57,930 --> 00:04:59,090 and later in the course, people, 104 00:04:59,090 --> 00:05:00,830 of course, use more middleware, 105 00:05:00,830 --> 00:05:02,660 but this particular function here, 106 00:05:02,660 --> 00:05:04,450 we will no longer need it. 107 00:05:04,450 --> 00:05:06,234 So, let's get rid of it, 108 00:05:06,234 --> 00:05:09,870 and also of this file system import, 109 00:05:09,870 --> 00:05:13,170 again, because we're no longer using the file here. 110 00:05:13,170 --> 00:05:14,450 So we still got some error here. 111 00:05:14,450 --> 00:05:16,120 Let's see what's happening, 112 00:05:16,120 --> 00:05:19,140 and it looks like it is in the 113 00:05:19,140 --> 00:05:21,210 in the tour routes, okay? 114 00:05:21,210 --> 00:05:22,250 And so actually that was the one 115 00:05:22,250 --> 00:05:23,853 that I was gonna change next. 116 00:05:25,420 --> 00:05:26,710 So the problem here is that 117 00:05:26,710 --> 00:05:30,780 this tourController.checkID, of course no longer 118 00:05:30,780 --> 00:05:33,077 exists because we just deleted it, 119 00:05:33,077 --> 00:05:35,780 and so let's get rid of this as well, 120 00:05:35,780 --> 00:05:38,930 or actually let me just comment it out, okay? 121 00:05:38,930 --> 00:05:41,000 So you keep in mind that you can use 122 00:05:41,000 --> 00:05:43,580 this .param function here to define 123 00:05:43,580 --> 00:05:47,190 parameter middleware in your own applications, okay? 124 00:05:47,190 --> 00:05:48,820 So I don't want you to forget that, 125 00:05:48,820 --> 00:05:51,060 and so just leave it here in your code 126 00:05:51,060 --> 00:05:53,120 so that maybe later when you come back to it 127 00:05:53,120 --> 00:05:56,270 you still know that it's there, okay? 128 00:05:56,270 --> 00:05:57,520 So now I saved it, 129 00:05:57,520 --> 00:05:59,120 and so we're back on track here. 130 00:05:59,120 --> 00:06:01,860 So everything is back to working, 131 00:06:01,860 --> 00:06:04,800 and our code is now sufficiently well refactored 132 00:06:04,800 --> 00:06:06,880 so that in the next video we can actually start 133 00:06:06,880 --> 00:06:10,343 implementing the correct functions in our API. 134 00:06:11,440 --> 00:06:14,450 So basically, getting all tours, 135 00:06:14,450 --> 00:06:18,120 creating tours, deleting tours, and updating tours. 136 00:06:18,120 --> 00:06:19,420 So, one by one, we will start 137 00:06:19,420 --> 00:06:21,380 implementing these controller functions, 138 00:06:21,380 --> 00:06:24,040 or handler functions if you prefer that, 139 00:06:24,040 --> 00:06:25,743 starting in the next video. 10479

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