This repository has been archived on 2025-11-04. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
qoverflow/server/routes/question.js
2022-08-18 17:53:58 -04:00

77 lines
3.8 KiB
JavaScript

const express = require('express');
const router = express.Router();
const tokenAuth = require('server/middleware/tokenAuth');
const CreateAnswer = require('./question/CreateAnswer');
const CreateAnswerComment = require('./question/CreateAnswerComment');
const CreateComment = require('./question/CreateComment');
const CreateQuestion = require('./question/CreateQuestion');
const DeleteAnswerComment = require('./question/DeleteAnswerComment');
const DeleteComment = require('./question/DeleteComment');
const EditAnswer = require('./question/EditAnswer');
const EditAnswerAccepted = require('./question/EditAnswerAccepted');
const EditAnswerCommentVote = require('./question/EditAnswerCommentVote');
const EditAnswerVote = require('./question/EditAnswerVote');
const EditCommentVote = require('./question/EditCommentVote');
const EditQuestion = require('./question/EditQuestion');
const EditQuestionBody = require('./question/EditQuestionBody');
const EditQuestionBounty = require('./question/EditQuestionBounty');
const EditQuestionStatusClosed = require('./question/EditQuestionStatusClosed');
const EditQuestionStatusProtected = require('./question/EditQuestionStatusProtected');
const EditQuestionStatusReopened = require('./question/EditQuestionStatusReopened');
const EditQuestionVote = require('./question/EditQuestionVote');
const GetAnswerComments = require('./question/GetAnswerComments');
const GetAnswerCommentVote = require('./question/GetAnswerCommentVote');
const GetAnswers = require('./question/GetAnswers');
const GetAnswerVote = require('./question/GetAnswerVote');
const GetComments = require('./question/GetComments');
const GetCommentVote = require('./question/GetCommentVote');
const GetQuestion = require('./question/GetQuestion');
const GetQuestionVote = require('./question/GetQuestionVote');
const Search = require('./question/Search');
router.get('/search', Search);
router.post('/', tokenAuth, CreateQuestion);
router.get('/:question_id', GetQuestion);
router.patch('/:question_id', tokenAuth, EditQuestion);
router.patch('/:question_id/edit', tokenAuth, EditQuestionBody);
router.patch('/:question_id/addBounty', tokenAuth, EditQuestionBounty);
router.patch('/:question_id/close', tokenAuth, EditQuestionStatusClosed);
router.patch('/:question_id/protect', tokenAuth, EditQuestionStatusProtected);
router.patch('/:question_id/reopen', tokenAuth, EditQuestionStatusReopened);
router.get('/:question_id/vote', tokenAuth, GetQuestionVote);
router.patch('/:question_id/vote', tokenAuth, EditQuestionVote);
router.get('/:question_id/comments', GetComments);
router.post('/:question_id/comments', tokenAuth, CreateComment);
router.delete('/:question_id/comments/:comment_id', tokenAuth, DeleteComment);
router.get('/:question_id/comments/:comment_id/vote', tokenAuth, GetCommentVote);
router.patch('/:question_id/comments/:comment_id/vote', tokenAuth, EditCommentVote);
router.get('/:question_id/answers', GetAnswers);
router.post('/:question_id/answers', tokenAuth, CreateAnswer);
router.patch('/:question_id/answers/:answer_id', tokenAuth, EditAnswer);
router.patch('/:question_id/answers/:answer_id/accept', tokenAuth, EditAnswerAccepted);
router.get('/:question_id/answers/:answer_id/vote', tokenAuth, GetAnswerVote);
router.patch('/:question_id/answers/:answer_id/vote', tokenAuth, EditAnswerVote);
router.get('/:question_id/answers/:answer_id/comments', GetAnswerComments);
router.post('/:question_id/answers/:answer_id/comments', tokenAuth, CreateAnswerComment);
router.delete(
'/:question_id/answers/:answer_id/comments/:comment_id',
tokenAuth,
DeleteAnswerComment
);
router.get(
'/:question_id/answers/:answer_id/comments/:comment_id/vote',
tokenAuth,
GetAnswerCommentVote
);
router.patch(
'/:question_id/answers/:answer_id/comments/:comment_id/vote',
tokenAuth,
EditAnswerCommentVote
);
module.exports = router;