feat: question + answer checks
This commit is contained in:
parent
f671341bad
commit
78b65f148e
4 changed files with 67 additions and 11 deletions
|
@ -1,16 +1,19 @@
|
|||
import express from 'express';
|
||||
import { createAnswerHandler, deleteAnswerHandler, getAnswerHandler, getAllAnswersHandler, updateAnswerHandler } from '../controllers/answers.js';
|
||||
import {adminOnly, authenticatedOnly, teachersOnly} from "../middleware/auth/checks/auth-checks";
|
||||
import {onlyAllowAuthor, onlyAllowAuthorRequestAnswer} from "../middleware/auth/checks/question-checks";
|
||||
|
||||
|
||||
const router = express.Router({ mergeParams: true });
|
||||
|
||||
router.get('/', getAllAnswersHandler);
|
||||
router.get('/', adminOnly, getAllAnswersHandler);
|
||||
|
||||
router.post('/', createAnswerHandler);
|
||||
router.post('/', teachersOnly, onlyAllowAuthor, createAnswerHandler);
|
||||
|
||||
router.get('/:seqAnswer', getAnswerHandler);
|
||||
router.get('/:seqAnswer', authenticatedOnly, getAnswerHandler);
|
||||
|
||||
router.delete('/:seqAnswer', deleteAnswerHandler);
|
||||
router.delete('/:seqAnswer', teachersOnly, onlyAllowAuthorRequestAnswer, deleteAnswerHandler);
|
||||
|
||||
router.put('/:seqAnswer', updateAnswerHandler);
|
||||
router.put('/:seqAnswer', teachersOnly, onlyAllowAuthorRequestAnswer, updateAnswerHandler);
|
||||
|
||||
export default router;
|
||||
|
|
|
@ -1,20 +1,25 @@
|
|||
import express from 'express';
|
||||
import { createQuestionHandler, deleteQuestionHandler, getAllQuestionsHandler, getQuestionHandler } from '../controllers/questions.js';
|
||||
import answerRoutes from './answers.js';
|
||||
import {adminOnly, authenticatedOnly, studentsOnly} from "../middleware/auth/checks/auth-checks";
|
||||
import {updateAnswerHandler} from "../controllers/answers";
|
||||
import {onlyAllowAuthor, onlyAllowAuthorRequest} from "../middleware/auth/checks/question-checks";
|
||||
|
||||
const router = express.Router({ mergeParams: true });
|
||||
|
||||
// Query language
|
||||
|
||||
// Root endpoint used to search objects
|
||||
router.get('/', getAllQuestionsHandler);
|
||||
router.get('/', adminOnly, getAllQuestionsHandler);
|
||||
|
||||
router.post('/', createQuestionHandler);
|
||||
|
||||
router.delete('/:seq', deleteQuestionHandler);
|
||||
router.post('/', studentsOnly, onlyAllowAuthor, createQuestionHandler);
|
||||
|
||||
// Information about a question with id
|
||||
router.get('/:seq', getQuestionHandler);
|
||||
router.get('/:seq', authenticatedOnly, getQuestionHandler); // TODO every body in group + teachers?
|
||||
|
||||
router.delete('/:seq', studentsOnly, onlyAllowAuthorRequest, deleteQuestionHandler);
|
||||
|
||||
router.put("/:seq", studentsOnly, onlyAllowAuthorRequest, updateAnswerHandler);
|
||||
|
||||
router.use('/:seq/answers', answerRoutes);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue