1 package usecase.user;
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.ADMINS_ONLY;
15
16
17
18
19 @WebServlet("/admin/deleteuser")
20 @AuthorizationConstraints(ADMINS_ONLY)
21 class DeleteUserServlet extends InterceptableServlet {
22 @Inject private UserService service;
23
24 @Override
25 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
26 ParameterConverter converter = new ParameterConverter(request);
27 int userId = converter.getIntParameter("userId").orElse(0);
28 service.delete(userId);
29 response.sendRedirect(getServletContext().getContextPath() + "/admin/showusers");
30 }
31
32 @Override
33 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
34 doGet(request, response);
35 }
36 }