1 package fr.ifremer.quadrige3.synchro.server.rest.administration.user;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 import fr.ifremer.quadrige3.core.service.administration.program.ProgramService;
27 import fr.ifremer.quadrige3.core.service.administration.user.UserService;
28 import fr.ifremer.quadrige3.core.vo.administration.program.ProgramVO;
29 import fr.ifremer.quadrige3.core.vo.administration.user.QuserVO;
30 import fr.ifremer.quadrige3.synchro.server.security.SecurityContextHelper;
31 import fr.ifremer.quadrige3.synchro.server.service.ServiceLocator;
32 import org.springframework.web.bind.annotation.RequestMapping;
33 import org.springframework.web.bind.annotation.RequestMethod;
34 import org.springframework.web.bind.annotation.ResponseBody;
35 import org.springframework.web.bind.annotation.RestController;
36
37 import java.util.List;
38
39 @RestController
40 @RequestMapping("/user")
41 public class UserRestController {
42
43 @RequestMapping(value="/current", method = RequestMethod.GET)
44 public @ResponseBody QuserVO getCurrentUser() {
45 int userId = SecurityContextHelper.getPrincipalUserId();
46
47
48 UserService userService = ServiceLocator.instance().getUserService();
49
50 return userService.getUserWithDepartmentAndPrivilegesById(userId);
51 }
52
53 @RequestMapping(value="/readablePrograms", method = RequestMethod.GET)
54 public @ResponseBody List<ProgramVO> getReadablePrograms() {
55 int userId = SecurityContextHelper.getPrincipalUserId();
56 ProgramService service = ServiceLocator.instance().getProgramService();
57
58
59 return service.getReadableProgramsByQuserId(userId);
60 }
61
62 @RequestMapping(value="/writablePrograms", method = RequestMethod.GET)
63 public @ResponseBody List<ProgramVO> getWritablePrograms() {
64 int userId = SecurityContextHelper.getPrincipalUserId();
65 ProgramService service = ServiceLocator.instance().getProgramService();
66
67
68 return service.getWritableProgramsByQuserId(userId);
69 }
70 }