コード例 #1
0
ファイル: POSTQuestion.py プロジェクト: abm2030/MiniOverflow
    def handle(self) -> HttpResponse:
        if 'title' not in self.request.body:
            raise HttpException(1111, 'title is required')
        if 'body' not in self.request.body:
            raise HttpException(1111, 'body is required')

        questionDTO = QuestionDTO()
        questionDTO.title = Title(self.request.body['title'])
        questionDTO.body = Body(self.request.body['body'])

        askQuestion(questionDTO)

        return HttpResponse(200, None, None)
コード例 #2
0
    def handle(self) -> HttpResponse:
        try:
            commentID = self.request.pathParams['commentID']
        except Exception as e:
            raise HttpException(1111, 'commentID is required')

        deleteComment(UUID(commentID))

        return HttpResponse(200, None, None)
コード例 #3
0
    def handle(self) -> HttpResponse:
        try:
            answerID = self.request.pathParams['answerID']
        except Exception as e:
            raise HttpException(1111, 'answerID are required')

        comments = getAnswerComments(UUID(answerID))
        commentsMap = CommentDTO.toListOfMap(comments)

        response: HttpResponse = HttpResponse(200, {'Content-Type': 'application/json'}, json.dumps(commentsMap))
        return response
コード例 #4
0
    def handle(self) -> HttpResponse:
        try:
            questionID = self.request.pathParams['questionID']
        except Exception as e:
            raise HttpException(1111, 'questionID is required')

        try:
            questionsMap = getQuestion(UUID(questionID))
            questionsMap = QuestionDTO.toMap(questionsMap)
        except Exception as e:
            raise HttpException(1111, 'no question by that ID')

        for i, a in enumerate(questionsMap['answers']):
            questionsMap['answers'][i] = a['answerID']
        for i, a in enumerate(questionsMap['comments']):
            questionsMap['comments'][i] = a['commentID']
        response: HttpResponse = HttpResponse(
            200, {'Content-Type': 'application/json'},
            json.dumps(questionsMap))
        return response
コード例 #5
0
ファイル: POSTAnswer.py プロジェクト: abm2030/MiniOverflow
    def handle(self) -> HttpResponse:

        try:
            questionID = self.request.pathParams['questionID']
            answerDTO = AnswerDTO()
            answerDTO.body = Body(self.request.body['body'])
        except Exception as e:
            raise HttpException(1111, 'questionID and body are required')

        answerQuestion(UUID(questionID), answerDTO)

        return HttpResponse(200, None, None)
コード例 #6
0
    def handle(self) -> HttpResponse:
        try:
            questionID = self.request.pathParams['questionID']
        except Exception as e:
            raise HttpException(1111, 'questionID is required')

        if 'hard' in self.request.headers:
            hardDeleteQuestion(UUID(questionID))
        else:
            softDeleteQuestion(UUID(questionID))

        return HttpResponse(200, None, None)
コード例 #7
0
ファイル: GETAnswers.py プロジェクト: abm2030/MiniOverflow
    def handle(self) -> HttpResponse:
        try:
            questionID = self.request.pathParams['questionID']
        except Exception as e:
            raise HttpException(1111, 'questionID are required')

        answers = getAnswersOfQuestion(UUID(questionID))
        answersMap = AnswerDTO.toListOfMap(answers)

        response: HttpResponse = HttpResponse(
            200, {'Content-Type': 'application/json'}, json.dumps(answersMap))
        return response
コード例 #8
0
    def handle(self) -> HttpResponse:

        try:
            answerID = self.request.pathParams['answerID']
            commentDTO = CommentDTO()
            commentDTO.body = Body(self.request.body['body'])
        except Exception as e:
            raise HttpException(1111, 'answerID and body are required')

        commentOnAnswer(UUID(answerID), commentDTO)

        return HttpResponse(200, None, None)