quiz.routes.js 970 Bytes
Newer Older
Yoon, Daeki's avatar
quiz    
Yoon, Daeki committed
1
2
3
4
5
6
7
import express from 'express'
import authCtrl from '../auth/auth.controller.js'
import userCtrl from '../user/user.controller.js'
import quizCtrl from './quiz.controller.js'

const router = express.Router()

Yoon, Daeki's avatar
Yoon, Daeki committed
8
router.route('/api/quiz/by/:userId')
Yoon, Daeki's avatar
quiz    
Yoon, Daeki committed
9
  .post(authCtrl.requireSignin, authCtrl.hasAuthorization, userCtrl.isInstructor, quizCtrl.create)
Yoon, Daeki's avatar
Yoon, Daeki committed
10
11
  .get(authCtrl.requireSignin, authCtrl.hasAuthorization, quizCtrl.listByUserId)

Yoon, Daeki's avatar
Yoon, Daeki committed
12
13
router.route('/api/quiz/:quizId')
  .get(authCtrl.requireSignin, quizCtrl.isAuthor, quizCtrl.read)
Yoon, Daeki's avatar
quiz    
Yoon, Daeki committed
14

Yoon, Daeki's avatar
Yoon, Daeki committed
15
16
router.route('/api/quiz/problem/:problemId')
  .get(authCtrl.requireSignin, quizCtrl.isProblemAuthor, quizCtrl.readProblem)
Yoon, Daeki's avatar
Yoon, Daeki committed
17
18
  .put(authCtrl.requireSignin, quizCtrl.isProblemAuthor, quizCtrl.updateProblem)
  .delete(authCtrl.requireSignin, quizCtrl.isProblemAuthor, quizCtrl.removeProblem)
Yoon, Daeki's avatar
quiz    
Yoon, Daeki committed
19
20

router.param('userId', userCtrl.userById)
Yoon, Daeki's avatar
Yoon, Daeki committed
21
router.param('quizId', quizCtrl.quizById)
Yoon, Daeki's avatar
Yoon, Daeki committed
22
23
router.param('problemId', quizCtrl.problemById)

Yoon, Daeki's avatar
quiz    
Yoon, Daeki committed
24
export default router