All language subtitles for 018 Adding a _me Endpoint_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,080 --> 00:00:05,390 It's a good practice to implement a slash me endpoint in 2 00:00:05,390 --> 00:00:06,770 any API. 3 00:00:06,770 --> 00:00:10,260 So, basically, an endpoint where a user can retrieve 4 00:00:10,260 --> 00:00:12,660 his own data, all right? 5 00:00:12,660 --> 00:00:15,423 And so, let's now, very quickly, implement that. 6 00:00:17,130 --> 00:00:20,240 And so basically it's gonna be something very similar to 7 00:00:20,240 --> 00:00:24,680 these updateme and deleteme endpoints that we 8 00:00:24,680 --> 00:00:26,543 already have, right? 9 00:00:27,600 --> 00:00:32,600 So, let's add export dot getme, all right? 10 00:00:34,130 --> 00:00:37,180 Now, we still actually want to use the getOne 11 00:00:37,180 --> 00:00:42,180 factory function, so basically, uh, 12 00:00:42,530 --> 00:00:44,360 this one here, right? 13 00:00:44,360 --> 00:00:46,400 Because otherwise it would be very, very 14 00:00:46,400 --> 00:00:48,690 similar code to this one. 15 00:00:48,690 --> 00:00:51,960 Now, the only problem with this is that getOne basically 16 00:00:51,960 --> 00:00:55,910 uses the ID coming from the parameter in order to get the 17 00:00:55,910 --> 00:00:57,380 requested document. 18 00:00:57,380 --> 00:01:00,950 But, what we want to do now is to basically get the document 19 00:01:00,950 --> 00:01:03,130 based on the current user ID, 20 00:01:03,130 --> 00:01:07,280 so the ID coming from the currently logged in user, okay? 21 00:01:07,280 --> 00:01:11,460 And so that way we don't have to pass in any ID as a URL 22 00:01:11,460 --> 00:01:13,460 parameter, right? 23 00:01:13,460 --> 00:01:17,690 So, how can we do that? Well, very simple. 24 00:01:17,690 --> 00:01:20,870 All we will do here is a very simple middleware, 25 00:01:20,870 --> 00:01:22,553 which is gonna go like this. 26 00:01:23,870 --> 00:01:28,243 So as always, request, response, next, 27 00:01:31,661 --> 00:01:36,100 and then all we're gonna do is to say request, 28 00:01:36,100 --> 00:01:39,570 dot params, dot ID, which remember, 29 00:01:39,570 --> 00:01:41,863 is what the getOne is going to use, 30 00:01:42,740 --> 00:01:47,740 and tell it equal to request dot user dot ID. 31 00:01:48,170 --> 00:01:49,003 And that's it! 32 00:01:51,910 --> 00:01:52,743 All right? 33 00:01:52,743 --> 00:01:55,020 And so we will then add this middleware here 34 00:01:55,020 --> 00:01:56,693 before calling getOne. 35 00:01:58,020 --> 00:02:02,600 So, let's implement that so user routes 36 00:02:02,600 --> 00:02:04,843 and I'm going to add it right here. 37 00:02:05,750 --> 00:02:10,683 So router dot get slash me, 38 00:02:12,260 --> 00:02:14,653 and now, of course, we need to be logged in. 39 00:02:15,640 --> 00:02:18,860 So protect, and this will then add the user to the 40 00:02:18,860 --> 00:02:22,180 current request, which you already know will then allow 41 00:02:22,180 --> 00:02:26,173 us to read the ID from that user, right? 42 00:02:27,130 --> 00:02:31,990 Then, the next step is to then basically put that user ID 43 00:02:31,990 --> 00:02:34,111 into the params dot ID. Okay? 44 00:02:34,111 --> 00:02:37,790 So basically faking that the ID is actually coming 45 00:02:37,790 --> 00:02:39,163 from the URL. 46 00:02:40,070 --> 00:02:43,793 So, user controller, uh, dot getme, 47 00:02:45,630 --> 00:02:49,600 and then finally user controller getuser. 48 00:02:53,800 --> 00:02:55,893 Okay? Make sense? 49 00:02:57,730 --> 00:03:00,670 Let's now very quickly test this out, 50 00:03:00,670 --> 00:03:03,803 and so it's gonna be a bit similar to this. 51 00:03:08,550 --> 00:03:09,863 But then, slash me. 52 00:03:10,810 --> 00:03:14,823 Of course we need authorization. Okay? 53 00:03:16,120 --> 00:03:21,120 And I'm also saving this in the users, 54 00:03:22,800 --> 00:03:27,800 and to get current user. 55 00:03:30,700 --> 00:03:34,510 Now, okay? Let's actually add it, these names 56 00:03:34,510 --> 00:03:38,310 because they look different so they have this data here 57 00:03:38,310 --> 00:03:39,143 for some reason. 58 00:03:43,540 --> 00:03:46,513 Okay, this one doesn't but still it's wrong here. 59 00:03:47,990 --> 00:03:50,770 All right? So let's now, just to make sure, 60 00:03:50,770 --> 00:03:53,780 log in as this admin. All right? 61 00:03:56,460 --> 00:03:59,870 And so now, get the data about this current user. 62 00:03:59,870 --> 00:04:02,593 So nothing in the body, nothing in the URL, 63 00:04:03,660 --> 00:04:07,150 but we still get the data about ourselves. 64 00:04:07,150 --> 00:04:11,080 So, name, email, role, and really all the data 65 00:04:11,080 --> 00:04:14,540 that there is about this user. Nice. 66 00:04:14,540 --> 00:04:18,870 So, again, you saw the great power of middleware. 67 00:04:18,870 --> 00:04:22,660 Where it was so easy to simply implement this getme 68 00:04:22,660 --> 00:04:25,850 middleware, so that then after that we can use our 69 00:04:25,850 --> 00:04:27,450 simple getuser. 70 00:04:27,450 --> 00:04:32,073 So, that one coming from the factory function, right? 71 00:04:33,140 --> 00:04:34,640 Okay, and that's it. 72 00:04:34,640 --> 00:04:37,533 That's all we had to do for this small task. 5543

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