Loading gms/src/main/java/it/inaf/ia2/gms/controller/GroupsTabResponseBuilder.java +2 −2 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ public class GroupsTabResponseBuilder { private GroupsService groupsService; @Autowired private GroupsTreeBuilder groupsTreeBuilder; private GroupsTreeBuilder groupsListBuilder; public GroupsTabResponse getGroupsTab(GroupsRequest request) { Loading @@ -37,7 +37,7 @@ public class GroupsTabResponseBuilder { Permission currentNodePermissions = permissionsService.getUserPermissionForGroup(group, session.getUserId()); response.setPermission(currentNodePermissions); response.setGroupsPanel(groupsTreeBuilder.listSubGroups(group, request, session.getUserId())); response.setGroupsPanel(groupsListBuilder.listSubGroups(group, request, session.getUserId())); return response; } Loading gms/src/main/java/it/inaf/ia2/gms/controller/SearchController.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.response.PaginatedData; import it.inaf.ia2.gms.model.response.SearchResponseItem; import it.inaf.ia2.gms.model.response.UserSearchResponse; import it.inaf.ia2.gms.service.SearchService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class SearchController { @Autowired private SessionData sessionData; @Autowired private SearchService searchService; @GetMapping(value = "/search", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<PaginatedData<SearchResponseItem>> getSearchResults(@RequestParam("query") String query, @RequestParam("page") int page, @RequestParam("pageSize") int pageSize) { PaginatedData<SearchResponseItem> response = searchService.search(query, sessionData.getUserId(), page, pageSize); return ResponseEntity.ok(response); } @GetMapping(value = "/search/user/{userId}", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<UserSearchResponse> getSearchResultUser(@PathVariable("userId") String userId) { UserSearchResponse response = searchService.getUserSearchResult(sessionData.getUserId(), userId); return ResponseEntity.ok(response); } } gms/src/main/java/it/inaf/ia2/gms/model/response/SearchResponseItem.java 0 → 100644 +32 −0 Original line number Diff line number Diff line package it.inaf.ia2.gms.model.response; public class SearchResponseItem { private SearchResponseType type; private String label; private String id; public SearchResponseType getType() { return type; } public void setType(SearchResponseType type) { this.type = type; } public String getLabel() { return label; } public void setLabel(String label) { this.label = label; } public String getId() { return id; } public void setId(String id) { this.id = id; } } gms/src/main/java/it/inaf/ia2/gms/model/response/SearchResponseType.java 0 → 100644 +7 −0 Original line number Diff line number Diff line package it.inaf.ia2.gms.model.response; public enum SearchResponseType { GROUP, USER } gms/src/main/java/it/inaf/ia2/gms/model/response/UserSearchResponse.java 0 → 100644 +27 −0 Original line number Diff line number Diff line package it.inaf.ia2.gms.model.response; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.persistence.model.PermissionEntity; import java.util.List; public class UserSearchResponse { private List<GroupEntity> groups; private List<PermissionEntity> permissions; public List<GroupEntity> getGroups() { return groups; } public void setGroups(List<GroupEntity> groups) { this.groups = groups; } public List<PermissionEntity> getPermissions() { return permissions; } public void setPermissions(List<PermissionEntity> permissions) { this.permissions = permissions; } } Loading
gms/src/main/java/it/inaf/ia2/gms/controller/GroupsTabResponseBuilder.java +2 −2 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ public class GroupsTabResponseBuilder { private GroupsService groupsService; @Autowired private GroupsTreeBuilder groupsTreeBuilder; private GroupsTreeBuilder groupsListBuilder; public GroupsTabResponse getGroupsTab(GroupsRequest request) { Loading @@ -37,7 +37,7 @@ public class GroupsTabResponseBuilder { Permission currentNodePermissions = permissionsService.getUserPermissionForGroup(group, session.getUserId()); response.setPermission(currentNodePermissions); response.setGroupsPanel(groupsTreeBuilder.listSubGroups(group, request, session.getUserId())); response.setGroupsPanel(groupsListBuilder.listSubGroups(group, request, session.getUserId())); return response; } Loading
gms/src/main/java/it/inaf/ia2/gms/controller/SearchController.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.response.PaginatedData; import it.inaf.ia2.gms.model.response.SearchResponseItem; import it.inaf.ia2.gms.model.response.UserSearchResponse; import it.inaf.ia2.gms.service.SearchService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class SearchController { @Autowired private SessionData sessionData; @Autowired private SearchService searchService; @GetMapping(value = "/search", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<PaginatedData<SearchResponseItem>> getSearchResults(@RequestParam("query") String query, @RequestParam("page") int page, @RequestParam("pageSize") int pageSize) { PaginatedData<SearchResponseItem> response = searchService.search(query, sessionData.getUserId(), page, pageSize); return ResponseEntity.ok(response); } @GetMapping(value = "/search/user/{userId}", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<UserSearchResponse> getSearchResultUser(@PathVariable("userId") String userId) { UserSearchResponse response = searchService.getUserSearchResult(sessionData.getUserId(), userId); return ResponseEntity.ok(response); } }
gms/src/main/java/it/inaf/ia2/gms/model/response/SearchResponseItem.java 0 → 100644 +32 −0 Original line number Diff line number Diff line package it.inaf.ia2.gms.model.response; public class SearchResponseItem { private SearchResponseType type; private String label; private String id; public SearchResponseType getType() { return type; } public void setType(SearchResponseType type) { this.type = type; } public String getLabel() { return label; } public void setLabel(String label) { this.label = label; } public String getId() { return id; } public void setId(String id) { this.id = id; } }
gms/src/main/java/it/inaf/ia2/gms/model/response/SearchResponseType.java 0 → 100644 +7 −0 Original line number Diff line number Diff line package it.inaf.ia2.gms.model.response; public enum SearchResponseType { GROUP, USER }
gms/src/main/java/it/inaf/ia2/gms/model/response/UserSearchResponse.java 0 → 100644 +27 −0 Original line number Diff line number Diff line package it.inaf.ia2.gms.model.response; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.persistence.model.PermissionEntity; import java.util.List; public class UserSearchResponse { private List<GroupEntity> groups; private List<PermissionEntity> permissions; public List<GroupEntity> getGroups() { return groups; } public void setGroups(List<GroupEntity> groups) { this.groups = groups; } public List<PermissionEntity> getPermissions() { return permissions; } public void setPermissions(List<PermissionEntity> permissions) { this.permissions = permissions; } }