Loading gms/src/main/java/it/inaf/ia2/gms/controller/GroupsController.java +12 −13 Original line number Diff line number Diff line Loading @@ -2,16 +2,15 @@ package it.inaf.ia2.gms.controller; import it.inaf.ia2.gms.authn.SessionData; import it.inaf.ia2.gms.exception.UnauthorizedException; import it.inaf.ia2.gms.model.CreateGroupRequest; import it.inaf.ia2.gms.model.request.AddGroupRequest; import it.inaf.ia2.gms.model.GroupNode; import it.inaf.ia2.gms.model.GroupsModelRequest; import it.inaf.ia2.gms.model.GroupsModelResponse; import it.inaf.ia2.gms.model.PaginatedData; import it.inaf.ia2.gms.model.PaginatedModelRequest; import it.inaf.ia2.gms.model.request.TabRequest; import it.inaf.ia2.gms.model.response.PaginatedData; import it.inaf.ia2.gms.model.request.PaginatedModelRequest; import it.inaf.ia2.gms.model.Permission; import it.inaf.ia2.gms.model.RenameGroupRequest; import it.inaf.ia2.gms.model.request.RenameGroupRequest; import it.inaf.ia2.gms.model.response.GroupsTabResponse; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.service.GroupsModelBuilder; import it.inaf.ia2.gms.service.GroupsService; import it.inaf.ia2.gms.service.GroupsTreeBuilder; import it.inaf.ia2.gms.service.PermissionsService; Loading Loading @@ -41,18 +40,18 @@ public class GroupsController { private GroupsService groupsService; @Autowired private GroupsModelBuilder groupsModelService; private GroupsTreeBuilder groupsTreeBuilder; @Autowired private GroupsTreeBuilder groupsTreeBuilder; private GroupsTabResponseBuilder groupsTabResponseBuilder; @GetMapping(value = "/groups", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public GroupsModelResponse getGroupsModelResponse(@Valid GroupsModelRequest groupsModelRequest) { return groupsModelService.getGroupsModel(groupsModelRequest, session.getUserId()); public ResponseEntity<GroupsTabResponse> getGroupsTab(@Valid TabRequest request) { return ResponseEntity.ok(groupsTabResponseBuilder.getGroupsTab(request)); } @PostMapping(value = "/group", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<PaginatedData<GroupNode>> createGroup(@Valid @RequestBody CreateGroupRequest request) { public ResponseEntity<PaginatedData<GroupNode>> createGroup(@Valid @RequestBody AddGroupRequest request) { GroupEntity parent = groupsService.getGroupById(request.getParentGroupId()); Loading @@ -60,7 +59,7 @@ public class GroupsController { throw new UnauthorizedException("Missing admin permission"); } GroupEntity newGroup = groupsService.addGroup(parent, request.getNewGroupName()); groupsService.addGroup(parent, request.getNewGroupName()); PaginatedData<GroupNode> groupsPanel = getGroupsPanel(request.getParentGroupId(), request); Loading gms/src/main/java/it/inaf/ia2/gms/service/GroupsModelBuilder.java→gms/src/main/java/it/inaf/ia2/gms/controller/GroupsTabResponseBuilder.java +44 −0 Original line number Diff line number Diff line package it.inaf.ia2.gms.service; package it.inaf.ia2.gms.controller; import it.inaf.ia2.gms.model.GroupsModelRequest; import it.inaf.ia2.gms.model.GroupsModelResponse; import it.inaf.ia2.gms.model.PaginatedData; import it.inaf.ia2.gms.authn.SessionData; import it.inaf.ia2.gms.model.Permission; import it.inaf.ia2.gms.model.RapUser; import it.inaf.ia2.gms.model.UserPermission; import it.inaf.ia2.gms.model.request.TabRequest; import it.inaf.ia2.gms.model.response.GroupsTabResponse; import it.inaf.ia2.gms.persistence.model.GroupEntity; import java.util.List; import it.inaf.ia2.gms.service.GroupsService; import it.inaf.ia2.gms.service.GroupsTreeBuilder; import it.inaf.ia2.gms.service.PermissionsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class GroupsModelBuilder { public class GroupsTabResponseBuilder { @Autowired private GroupsService groupsService; private SessionData session; @Autowired private GroupsTreeBuilder groupsTreeBuilder; private PermissionsService permissionsService; @Autowired private MembersService membersService; private GroupsService groupsService; @Autowired private PermissionsService permissionsService; private GroupsTreeBuilder groupsTreeBuilder; public GroupsModelResponse getGroupsModel(GroupsModelRequest request, String userId) { public GroupsTabResponse getGroupsTab(TabRequest request) { GroupEntity group = groupsService.getGroupById(request.getGroupId()); GroupsModelResponse response = new GroupsModelResponse(); response.setPage("groups"); GroupsTabResponse response = new GroupsTabResponse(); response.setBreadcrumbs(groupsService.getBreadcrumbs(group.getPath())); Permission currentNodePermissions = permissionsService.getUserPermissionForGroup(group, userId); Permission currentNodePermissions = permissionsService.getUserPermissionForGroup(group, session.getUserId()); response.setPermission(currentNodePermissions); switch (request.getTab()) { case "groups": response.setGroupsPanel(groupsTreeBuilder.listSubGroups(group.getId(), userId, request)); break; case "members": if (currentNodePermissions != Permission.TRAVERSE) { List<RapUser> members = membersService.getMembers(group.getId()); response.setMembersPanel(new PaginatedData<>(members, request.getPaginatorPage(), request.getPaginatorPageSize())); } break; case "permissions": if (currentNodePermissions == Permission.ADMIN) { List<UserPermission> permissions = permissionsService.getAllPermissions(group); response.setPermissionsPanel(new PaginatedData<>(permissions, request.getPaginatorPage(), request.getPaginatorPageSize())); } break; } response.setGroupsPanel(groupsTreeBuilder.listSubGroups(group.getId(), session.getUserId(), request)); return response; } Loading gms/src/main/java/it/inaf/ia2/gms/controller/HomePageController.java 0 → 100644 +39 −0 Original line number Diff line number Diff line package it.inaf.ia2.gms.controller; import it.inaf.ia2.gms.authn.SessionData; import it.inaf.ia2.gms.model.request.TabRequest; import it.inaf.ia2.gms.model.response.GroupsTabResponse; import it.inaf.ia2.gms.model.response.HomePageResponse; import javax.validation.Valid; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class HomePageController { @Autowired private SessionData session; @Autowired private GroupsTabResponseBuilder groupsTabResponseBuilder; @ResponseBody @GetMapping(value = "/home", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<HomePageResponse> getMainPage(@Valid TabRequest request) { HomePageResponse response = new HomePageResponse(); response.setUser(session.getUserId()); GroupsTabResponse groupsTabResponse = groupsTabResponseBuilder.getGroupsTab(request); response.setBreadcrumbs(groupsTabResponse.getBreadcrumbs()); response.setGroupsPanel(groupsTabResponse.getGroupsPanel()); response.setPermission(groupsTabResponse.getPermission()); return ResponseEntity.ok(response); } } gms/src/main/java/it/inaf/ia2/gms/controller/MembersController.java +22 −4 Original line number Diff line number Diff line Loading @@ -2,12 +2,13 @@ package it.inaf.ia2.gms.controller; import it.inaf.ia2.gms.authn.SessionData; import it.inaf.ia2.gms.exception.UnauthorizedException; import it.inaf.ia2.gms.model.AddMemberRequest; import it.inaf.ia2.gms.model.MemberRequest; import it.inaf.ia2.gms.model.PaginatedData; import it.inaf.ia2.gms.model.request.AddMemberRequest; import it.inaf.ia2.gms.model.request.MemberRequest; import it.inaf.ia2.gms.model.response.PaginatedData; import it.inaf.ia2.gms.model.Permission; import it.inaf.ia2.gms.model.RapUser; import it.inaf.ia2.gms.model.RemoveMemberRequest; import it.inaf.ia2.gms.model.request.RemoveMemberRequest; import it.inaf.ia2.gms.model.request.TabRequest; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.service.GroupsService; import it.inaf.ia2.gms.service.MembersService; Loading @@ -19,6 +20,7 @@ import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; Loading @@ -38,6 +40,22 @@ public class MembersController { @Autowired private MembersService membersService; @GetMapping(value = "/members", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<PaginatedData<RapUser>> getMembersTab(TabRequest request) { GroupEntity group = groupsService.getGroupById(request.getGroupId()); Permission currentNodePermissions = permissionsService.getUserPermissionForGroup(group, session.getUserId()); if (currentNodePermissions == Permission.TRAVERSE) { throw new UnauthorizedException("You have not the permission to view members"); } List<RapUser> members = membersService.getMembers(group.getId()); PaginatedData<RapUser> membersPanel = new PaginatedData<>(members, request.getPaginatorPage(), request.getPaginatorPageSize()); return ResponseEntity.ok(membersPanel); } @PostMapping(value = "/member", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<PaginatedData<RapUser>> addMember(@Valid @RequestBody AddMemberRequest request) { Loading gms/src/main/java/it/inaf/ia2/gms/controller/PermissionsController.java +22 −5 Original line number Diff line number Diff line Loading @@ -2,12 +2,13 @@ package it.inaf.ia2.gms.controller; import it.inaf.ia2.gms.authn.SessionData; import it.inaf.ia2.gms.exception.UnauthorizedException; import it.inaf.ia2.gms.model.AddPermissionRequest; import it.inaf.ia2.gms.model.MemberRequest; import it.inaf.ia2.gms.model.PaginatedData; import it.inaf.ia2.gms.model.PaginatedModelRequest; import it.inaf.ia2.gms.model.request.AddPermissionRequest; import it.inaf.ia2.gms.model.request.MemberRequest; import it.inaf.ia2.gms.model.response.PaginatedData; import it.inaf.ia2.gms.model.request.PaginatedModelRequest; import it.inaf.ia2.gms.model.Permission; import it.inaf.ia2.gms.model.UserPermission; import it.inaf.ia2.gms.model.request.TabRequest; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.service.GroupsService; import it.inaf.ia2.gms.service.PermissionsService; Loading Loading @@ -38,7 +39,23 @@ public class PermissionsController { @Autowired private PermissionsService permissionsService; @GetMapping(value = "/permission") @GetMapping(value = "/permissions", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<PaginatedData<UserPermission>> getPermissionsTab(TabRequest request) { GroupEntity group = groupsService.getGroupById(request.getGroupId()); Permission currentNodePermissions = permissionsService.getUserPermissionForGroup(group, session.getUserId()); if (currentNodePermissions != Permission.ADMIN) { throw new UnauthorizedException("Only administrators can see the permissions"); } List<UserPermission> permissions = permissionsService.getAllPermissions(group); PaginatedData<UserPermission> permissionsPanel = new PaginatedData<>(permissions, request.getPaginatorPage(), request.getPaginatorPageSize()); return ResponseEntity.ok(permissionsPanel); } @GetMapping(value = "/permission", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<Map<String, Permission>> getUserPermission(@RequestParam("groupId") String groupId, @RequestParam("userId") String userId) { GroupEntity group = groupsService.getGroupById(groupId); Loading Loading
gms/src/main/java/it/inaf/ia2/gms/controller/GroupsController.java +12 −13 Original line number Diff line number Diff line Loading @@ -2,16 +2,15 @@ package it.inaf.ia2.gms.controller; import it.inaf.ia2.gms.authn.SessionData; import it.inaf.ia2.gms.exception.UnauthorizedException; import it.inaf.ia2.gms.model.CreateGroupRequest; import it.inaf.ia2.gms.model.request.AddGroupRequest; import it.inaf.ia2.gms.model.GroupNode; import it.inaf.ia2.gms.model.GroupsModelRequest; import it.inaf.ia2.gms.model.GroupsModelResponse; import it.inaf.ia2.gms.model.PaginatedData; import it.inaf.ia2.gms.model.PaginatedModelRequest; import it.inaf.ia2.gms.model.request.TabRequest; import it.inaf.ia2.gms.model.response.PaginatedData; import it.inaf.ia2.gms.model.request.PaginatedModelRequest; import it.inaf.ia2.gms.model.Permission; import it.inaf.ia2.gms.model.RenameGroupRequest; import it.inaf.ia2.gms.model.request.RenameGroupRequest; import it.inaf.ia2.gms.model.response.GroupsTabResponse; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.service.GroupsModelBuilder; import it.inaf.ia2.gms.service.GroupsService; import it.inaf.ia2.gms.service.GroupsTreeBuilder; import it.inaf.ia2.gms.service.PermissionsService; Loading Loading @@ -41,18 +40,18 @@ public class GroupsController { private GroupsService groupsService; @Autowired private GroupsModelBuilder groupsModelService; private GroupsTreeBuilder groupsTreeBuilder; @Autowired private GroupsTreeBuilder groupsTreeBuilder; private GroupsTabResponseBuilder groupsTabResponseBuilder; @GetMapping(value = "/groups", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public GroupsModelResponse getGroupsModelResponse(@Valid GroupsModelRequest groupsModelRequest) { return groupsModelService.getGroupsModel(groupsModelRequest, session.getUserId()); public ResponseEntity<GroupsTabResponse> getGroupsTab(@Valid TabRequest request) { return ResponseEntity.ok(groupsTabResponseBuilder.getGroupsTab(request)); } @PostMapping(value = "/group", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<PaginatedData<GroupNode>> createGroup(@Valid @RequestBody CreateGroupRequest request) { public ResponseEntity<PaginatedData<GroupNode>> createGroup(@Valid @RequestBody AddGroupRequest request) { GroupEntity parent = groupsService.getGroupById(request.getParentGroupId()); Loading @@ -60,7 +59,7 @@ public class GroupsController { throw new UnauthorizedException("Missing admin permission"); } GroupEntity newGroup = groupsService.addGroup(parent, request.getNewGroupName()); groupsService.addGroup(parent, request.getNewGroupName()); PaginatedData<GroupNode> groupsPanel = getGroupsPanel(request.getParentGroupId(), request); Loading
gms/src/main/java/it/inaf/ia2/gms/service/GroupsModelBuilder.java→gms/src/main/java/it/inaf/ia2/gms/controller/GroupsTabResponseBuilder.java +44 −0 Original line number Diff line number Diff line package it.inaf.ia2.gms.service; package it.inaf.ia2.gms.controller; import it.inaf.ia2.gms.model.GroupsModelRequest; import it.inaf.ia2.gms.model.GroupsModelResponse; import it.inaf.ia2.gms.model.PaginatedData; import it.inaf.ia2.gms.authn.SessionData; import it.inaf.ia2.gms.model.Permission; import it.inaf.ia2.gms.model.RapUser; import it.inaf.ia2.gms.model.UserPermission; import it.inaf.ia2.gms.model.request.TabRequest; import it.inaf.ia2.gms.model.response.GroupsTabResponse; import it.inaf.ia2.gms.persistence.model.GroupEntity; import java.util.List; import it.inaf.ia2.gms.service.GroupsService; import it.inaf.ia2.gms.service.GroupsTreeBuilder; import it.inaf.ia2.gms.service.PermissionsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class GroupsModelBuilder { public class GroupsTabResponseBuilder { @Autowired private GroupsService groupsService; private SessionData session; @Autowired private GroupsTreeBuilder groupsTreeBuilder; private PermissionsService permissionsService; @Autowired private MembersService membersService; private GroupsService groupsService; @Autowired private PermissionsService permissionsService; private GroupsTreeBuilder groupsTreeBuilder; public GroupsModelResponse getGroupsModel(GroupsModelRequest request, String userId) { public GroupsTabResponse getGroupsTab(TabRequest request) { GroupEntity group = groupsService.getGroupById(request.getGroupId()); GroupsModelResponse response = new GroupsModelResponse(); response.setPage("groups"); GroupsTabResponse response = new GroupsTabResponse(); response.setBreadcrumbs(groupsService.getBreadcrumbs(group.getPath())); Permission currentNodePermissions = permissionsService.getUserPermissionForGroup(group, userId); Permission currentNodePermissions = permissionsService.getUserPermissionForGroup(group, session.getUserId()); response.setPermission(currentNodePermissions); switch (request.getTab()) { case "groups": response.setGroupsPanel(groupsTreeBuilder.listSubGroups(group.getId(), userId, request)); break; case "members": if (currentNodePermissions != Permission.TRAVERSE) { List<RapUser> members = membersService.getMembers(group.getId()); response.setMembersPanel(new PaginatedData<>(members, request.getPaginatorPage(), request.getPaginatorPageSize())); } break; case "permissions": if (currentNodePermissions == Permission.ADMIN) { List<UserPermission> permissions = permissionsService.getAllPermissions(group); response.setPermissionsPanel(new PaginatedData<>(permissions, request.getPaginatorPage(), request.getPaginatorPageSize())); } break; } response.setGroupsPanel(groupsTreeBuilder.listSubGroups(group.getId(), session.getUserId(), request)); return response; } Loading
gms/src/main/java/it/inaf/ia2/gms/controller/HomePageController.java 0 → 100644 +39 −0 Original line number Diff line number Diff line package it.inaf.ia2.gms.controller; import it.inaf.ia2.gms.authn.SessionData; import it.inaf.ia2.gms.model.request.TabRequest; import it.inaf.ia2.gms.model.response.GroupsTabResponse; import it.inaf.ia2.gms.model.response.HomePageResponse; import javax.validation.Valid; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class HomePageController { @Autowired private SessionData session; @Autowired private GroupsTabResponseBuilder groupsTabResponseBuilder; @ResponseBody @GetMapping(value = "/home", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<HomePageResponse> getMainPage(@Valid TabRequest request) { HomePageResponse response = new HomePageResponse(); response.setUser(session.getUserId()); GroupsTabResponse groupsTabResponse = groupsTabResponseBuilder.getGroupsTab(request); response.setBreadcrumbs(groupsTabResponse.getBreadcrumbs()); response.setGroupsPanel(groupsTabResponse.getGroupsPanel()); response.setPermission(groupsTabResponse.getPermission()); return ResponseEntity.ok(response); } }
gms/src/main/java/it/inaf/ia2/gms/controller/MembersController.java +22 −4 Original line number Diff line number Diff line Loading @@ -2,12 +2,13 @@ package it.inaf.ia2.gms.controller; import it.inaf.ia2.gms.authn.SessionData; import it.inaf.ia2.gms.exception.UnauthorizedException; import it.inaf.ia2.gms.model.AddMemberRequest; import it.inaf.ia2.gms.model.MemberRequest; import it.inaf.ia2.gms.model.PaginatedData; import it.inaf.ia2.gms.model.request.AddMemberRequest; import it.inaf.ia2.gms.model.request.MemberRequest; import it.inaf.ia2.gms.model.response.PaginatedData; import it.inaf.ia2.gms.model.Permission; import it.inaf.ia2.gms.model.RapUser; import it.inaf.ia2.gms.model.RemoveMemberRequest; import it.inaf.ia2.gms.model.request.RemoveMemberRequest; import it.inaf.ia2.gms.model.request.TabRequest; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.service.GroupsService; import it.inaf.ia2.gms.service.MembersService; Loading @@ -19,6 +20,7 @@ import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; Loading @@ -38,6 +40,22 @@ public class MembersController { @Autowired private MembersService membersService; @GetMapping(value = "/members", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<PaginatedData<RapUser>> getMembersTab(TabRequest request) { GroupEntity group = groupsService.getGroupById(request.getGroupId()); Permission currentNodePermissions = permissionsService.getUserPermissionForGroup(group, session.getUserId()); if (currentNodePermissions == Permission.TRAVERSE) { throw new UnauthorizedException("You have not the permission to view members"); } List<RapUser> members = membersService.getMembers(group.getId()); PaginatedData<RapUser> membersPanel = new PaginatedData<>(members, request.getPaginatorPage(), request.getPaginatorPageSize()); return ResponseEntity.ok(membersPanel); } @PostMapping(value = "/member", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<PaginatedData<RapUser>> addMember(@Valid @RequestBody AddMemberRequest request) { Loading
gms/src/main/java/it/inaf/ia2/gms/controller/PermissionsController.java +22 −5 Original line number Diff line number Diff line Loading @@ -2,12 +2,13 @@ package it.inaf.ia2.gms.controller; import it.inaf.ia2.gms.authn.SessionData; import it.inaf.ia2.gms.exception.UnauthorizedException; import it.inaf.ia2.gms.model.AddPermissionRequest; import it.inaf.ia2.gms.model.MemberRequest; import it.inaf.ia2.gms.model.PaginatedData; import it.inaf.ia2.gms.model.PaginatedModelRequest; import it.inaf.ia2.gms.model.request.AddPermissionRequest; import it.inaf.ia2.gms.model.request.MemberRequest; import it.inaf.ia2.gms.model.response.PaginatedData; import it.inaf.ia2.gms.model.request.PaginatedModelRequest; import it.inaf.ia2.gms.model.Permission; import it.inaf.ia2.gms.model.UserPermission; import it.inaf.ia2.gms.model.request.TabRequest; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.service.GroupsService; import it.inaf.ia2.gms.service.PermissionsService; Loading Loading @@ -38,7 +39,23 @@ public class PermissionsController { @Autowired private PermissionsService permissionsService; @GetMapping(value = "/permission") @GetMapping(value = "/permissions", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<PaginatedData<UserPermission>> getPermissionsTab(TabRequest request) { GroupEntity group = groupsService.getGroupById(request.getGroupId()); Permission currentNodePermissions = permissionsService.getUserPermissionForGroup(group, session.getUserId()); if (currentNodePermissions != Permission.ADMIN) { throw new UnauthorizedException("Only administrators can see the permissions"); } List<UserPermission> permissions = permissionsService.getAllPermissions(group); PaginatedData<UserPermission> permissionsPanel = new PaginatedData<>(permissions, request.getPaginatorPage(), request.getPaginatorPageSize()); return ResponseEntity.ok(permissionsPanel); } @GetMapping(value = "/permission", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<Map<String, Permission>> getUserPermission(@RequestParam("groupId") String groupId, @RequestParam("userId") String userId) { GroupEntity group = groupsService.getGroupById(groupId); Loading