WikiLerni/routes/questionnaire.js

30 lines
1.6 KiB
JavaScript

const express = require("express");
const router = express.Router();
const authAdmin = require("../middleware/authAdmin");
const auth = require("../middleware/auth");
const questionnaireCtrl = require("../controllers/questionnaire");
const questionnairesUserCtrl = require("../controllers/subscription");
const answerCtrl = require("../controllers/answer");
// Administrateurs du site ou créateurs de questionnaires
router.post("/", authAdmin, questionnaireCtrl.create);
router.put("/:id", authAdmin, questionnaireCtrl.modify);
router.delete("/:id", authAdmin, questionnaireCtrl.delete);
router.get("/getlistnextquestionnaires", authAdmin, questionnaireCtrl.getListNextQuestionnaires);
router.get("/htmlregenerated", authAdmin, questionnaireCtrl.HTMLRegenerate);
// Utilisateurs du site
router.post("/search", auth, questionnaireCtrl.searchQuestionnaires);
router.post("/getrandom", auth, questionnaireCtrl.getRandomQuestionnaires);
router.post("/searchadmin", authAdmin, questionnaireCtrl.searchAdminQuestionnaires);
router.get("/stats", auth, questionnaireCtrl.getStats);
router.get("/get/:id", questionnaireCtrl.getOneQuestionnaireById);
router.get("/preview/:id/:token", questionnaireCtrl.showOneQuestionnaireById);// prévisualisation HTML, même si questionnaire "incomplet"
router.post("/answer/", auth, answerCtrl.create);
router.get("/user/anwswers/stats/:userId", auth, answerCtrl.getStatsByUser);
router.get("/user/answers/:userId/:questionnaireId", auth, answerCtrl.getAnswersByQuestionnaire);
router.get("/withoutanswer/user/:id/:begin/:nb/:output", auth, answerCtrl.getQuestionnairesWithouAnswerByUser);
module.exports = router;