-
Notifications
You must be signed in to change notification settings - Fork 1
/
admin.routes.ts
executable file
·110 lines (103 loc) · 2.31 KB
/
admin.routes.ts
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
109
110
import express from "express";
// import { authRateLimiter, regularRateLimiter } from "./utils/rateLimiters";
import { use } from "./routes";
import checkAuth from "./middlewares/jwt.auth";
import checkAdmin from "./middlewares/admin";
import { deleteUser, emailUser, getAllUsers } from "./controllers/admin/user";
import {
deleteListing,
featureUnfeatureListing,
} from "./controllers/admin/listing";
import {
addService,
deleteService,
editService,
} from "./controllers/admin/service";
import {
addProfession,
editProfession,
deleteProfession,
} from "./controllers/admin/profession";
import {
checkEditService,
checkDeleteService,
checkAddService,
checkAddProfession,
checkDeleteListing,
checkFeatureUnfeatureListing,
checkEditProfession,
} from "./validators";
const router = express.Router();
// user
router.post("/user/email" /* regularRateLimiter, */, checkAuth, use(emailUser));
router.post(
"/user/delete" /* regularRateLimiter, */,
checkAuth,
use(checkAdmin),
use(deleteUser)
);
router.post(
"/user/all" /* regularRateLimiter, */,
checkAuth,
use(checkAdmin),
use(getAllUsers)
);
// listing routes
router.post(
"/listing/delete" /* regularRateLimiter, */,
checkAuth,
use(checkAdmin),
use(checkDeleteListing),
use(deleteListing)
);
router.post(
"/listing/feature-unfeature" /* regularRateLimiter, */,
checkAuth,
checkAdmin,
use(checkFeatureUnfeatureListing),
use(featureUnfeatureListing)
);
// service routes
router.post(
"/service/add" /* regularRateLimiter, */,
checkAuth,
use(checkAdmin),
use(checkAddService),
use(addService)
);
router.post(
"/service/edit" /* regularRateLimiter, */,
checkAuth,
use(checkAdmin),
use(checkEditService),
use(editService)
);
router.post(
"/service/delete" /* regularRateLimiter, */,
checkAuth,
use(checkAdmin),
use(checkDeleteService),
use(deleteService)
);
// profession routes
router.post(
"/professions/add" /* regularRateLimiter, */,
checkAuth,
use(checkAdmin),
use(checkAddProfession),
use(addProfession)
);
router.post(
"/professions/edit" /* regularRateLimiter, */,
checkAuth,
use(checkAdmin),
use(checkEditProfession),
use(editProfession)
);
router.post(
"/professions/delete" /* regularRateLimiter, */,
checkAuth,
use(checkAdmin),
use(deleteProfession)
);
export default router;