1 package usecase.follow;
2
3 import common.http.ParameterConverter;
4 import common.http.error.JSONError;
5 import common.http.interceptor.InterceptableServlet;
6 import usecase.auth.AuthorizationConstraints;
7
8 import javax.inject.Inject;
9 import javax.servlet.ServletException;
10 import javax.servlet.annotation.WebServlet;
11 import javax.servlet.http.HttpServletRequest;
12 import javax.servlet.http.HttpServletResponse;
13 import java.io.IOException;
14
15 import static usecase.auth.AuthorizationConstraints.Types.REQUIRE_AUTHENTICATION;
16
17
18
19
20 @WebServlet("/unfollow")
21 @AuthorizationConstraints(REQUIRE_AUTHENTICATION)
22 class UnfollowServlet extends InterceptableServlet {
23 @Inject private FollowService service;
24
25 @Override
26 @JSONError
27 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
28 ParameterConverter converter = new ParameterConverter(request);
29 int sectionId = converter.getIntParameter("section").orElse(0);
30 service.unFollow(sectionId);
31 }
32
33 @Override
34 @JSONError
35 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
36 doGet(request, response);
37 }
38 }