1 package usecase.comment;
2
3 import common.http.ParameterConverter;
4 import common.http.interceptor.InterceptableServlet;
5 import usecase.auth.AuthorizationConstraints;
6
7 import javax.inject.Inject;
8 import javax.servlet.ServletException;
9 import javax.servlet.annotation.WebServlet;
10 import javax.servlet.http.HttpServletRequest;
11 import javax.servlet.http.HttpServletResponse;
12 import java.io.IOException;
13
14 import static usecase.auth.AuthorizationConstraints.Types.REQUIRE_AUTHENTICATION;
15
16
17
18
19 @WebServlet("/deletecomment")
20 @AuthorizationConstraints(REQUIRE_AUTHENTICATION)
21 class DeleteCommentServlet extends InterceptableServlet {
22 @Inject private CommentService service;
23
24 @Override
25 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
26 ParameterConverter converter = new ParameterConverter(request);
27 int commentId = converter.getIntParameter("id").orElse(0);
28 int postId = service.getComment(commentId).getPostId();
29 service.delete(commentId);
30 response.sendRedirect(getServletContext().getContextPath() + "/post/" + postId);
31 }
32
33 @Override
34 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
35 doGet(request,response);
36 }
37 }