quiz.routes.js 1.05 KB
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/: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
router.route('/api/quiz/by/:quizId')
Yoon, Daeki's avatar
Yoon, Daeki committed
13
  .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
17
18
router.route('/api/quiz/problem/:userId')
  .post(authCtrl.requireSignin, userCtrl.isInstructor)

router.route('/api/quiz/problem/by/:problemId')
Yoon, Daeki's avatar
Yoon, Daeki committed
19
  .get(authCtrl.requireSignin, quizCtrl.isProblemAuthor, quizCtrl.readProblem)
Yoon, Daeki's avatar
Yoon, Daeki committed
20
21
  .put(authCtrl.requireSignin, quizCtrl.isProblemAuthor, quizCtrl.updateProblem)
  .delete(authCtrl.requireSignin, quizCtrl.isProblemAuthor, quizCtrl.removeProblem)
Yoon, Daeki's avatar
quiz    
Yoon, Daeki committed
22
23

router.param('userId', userCtrl.userById)
Yoon, Daeki's avatar
Yoon, Daeki committed
24
router.param('quizId', quizCtrl.quizById)
Yoon, Daeki's avatar
Yoon, Daeki committed
25
26
router.param('problemId', quizCtrl.problemById)

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