-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrouter.js
108 lines (92 loc) · 2.82 KB
/
router.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
import express from "express";
import passport from "passport";
import routes from "./routes";
import userController from "./controllers/userController";
import videoController from "./controllers/videoController";
import { avatarUpload, videoUpload } from "./utils/fileUpload";
import commentController from "./controllers/commentController";
const router = express.Router();
// Auth
router.get(routes.facebookLogin, passport.authenticate("facebook"));
router.get(
routes.facebookCallback,
passport.authenticate("facebook", { failureRedirect: "/" }),
userController.facebookLoginCallback
);
router.get(routes.githubLogin, passport.authenticate("github"));
router.get(
routes.githubCallback,
passport.authenticate("github", { failureRedirect: "/" }),
userController.githubLoginCallback
);
// Videos
router.get(routes.home, videoController.home);
router.get(routes.search, videoController.getSearchVideo);
router.get(routes.videoDetail(), videoController.videoDetail);
router.get(
routes.deleteVideo(),
userController.protectedRoute,
videoController.isAuthor,
videoController.getDeleteVideo
);
router
.route(routes.editVideo())
.get(
userController.protectedRoute,
videoController.isAuthor,
videoController.getEditVideo
)
.post(
userController.protectedRoute,
videoController.isAuthor,
videoController.postEditVideo
);
router
.route(routes.upload)
.get(userController.protectedRoute, videoController.getUploadVideo)
.post(
userController.protectedRoute,
videoUpload.single("video"),
videoController.postUploadVideo
);
router.post(routes.registerView, videoController.postRegisterView);
// Users
router.get(routes.user(), userController.getUserDetail);
router.get(routes.me, userController.protectedRoute, userController.getMe);
router.get(routes.logout, userController.getLogout);
router
.route(routes.updatePassword)
.get(userController.protectedRoute, userController.getUpdatePassword)
.post(userController.protectedRoute, userController.postUpdatePassword);
router
.route(routes.editProfile)
.get(userController.protectedRoute, userController.getEditProfile)
.post(
userController.protectedRoute,
avatarUpload.single("avatar"),
userController.postEditProfile
);
router
.route(routes.login)
.get(userController.onlyPublic, userController.getLogIn)
.post(userController.onlyPublic, userController.postEmailLogIn);
router
.route(routes.join)
.get(userController.onlyPublic, userController.getJoin)
.post(
userController.onlyPublic,
userController.postEmailRegister,
userController.postEmailLogIn
);
// Comments
router.post(
routes.postComment,
userController.protectedRoute,
commentController.postComment
);
router.delete(
routes.deleteComment,
userController.protectedRoute,
commentController.deleteComment
);
export default router;