View Javadoc
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   * Classe che permette di eliminare il follow ad una sezione.
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  }