-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathpoll.js
46 lines (40 loc) · 1.04 KB
/
poll.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
const express = require("express");
const router = express.Router();
const {
isAdminAccount,
userExists,
isOnGovernance,
} = require("../middleware/user");
const {
PollCreateSchema,
PollGetSchema,
PollGetAllSchema,
} = require("../schema/pollSchema");
const { pollVoteSchema } = require("../schema/voteSchema");
const {
validateRequestSchema,
} = require("../middleware/validateRequestSchema");
const { validateSignature } = require("../middleware/validateSignature");
const { getAllPoll, getPoll, createPoll } = require("../controllers/poll");
const { createPollVote } = require("../controllers/vote");
router.get("/", PollGetAllSchema, validateRequestSchema, getAllPoll);
router.post(
"/",
PollCreateSchema,
validateRequestSchema,
userExists,
validateSignature,
isOnGovernance,
createPoll
);
router.get("/:id", PollGetSchema, validateRequestSchema, getPoll);
router.post(
"/:id/vote",
pollVoteSchema,
validateRequestSchema,
userExists,
validateSignature,
isOnGovernance,
createPollVote
);
module.exports = router;