22
33import com .fasterxml .jackson .databind .ObjectMapper ;
44import com .github .slamdev .hetzner .irobo .business .control .ServerRepository ;
5- import com .github .slamdev .hetzner .irobo .business .control .ServerSearchRepository ;
65import com .github .slamdev .hetzner .irobo .business .entity .ServerListViewModel ;
76import com .github .slamdev .hetzner .irobo .business .entity .ServerModel ;
87import com .github .slamdev .hetzner .irobo .integration .AppConfig ;
9- import com .github .slamdev .hetzner .irobo .integration .Streams ;
108import lombok .RequiredArgsConstructor ;
119import lombok .SneakyThrows ;
1210import org .springframework .data .domain .Sort ;
2725public class IndexController {
2826
2927 private final ServerRepository serverRepository ;
30- private final ServerSearchRepository serverSearchRepository ;
3128 private final ObjectMapper objectMapper ;
3229 private final AppConfig appConfig ;
3330
3431 @ GetMapping
35- public ModelAndView indexPage (@ RequestParam (defaultValue = "serverNumber " ) String sortField ,
32+ public ModelAndView indexPage (@ RequestParam (defaultValue = "id " ) String sortField ,
3633 @ RequestParam (defaultValue = "ASC" ) Sort .Direction sortDirection ,
3734 @ RequestParam (defaultValue = "" ) String filter ) {
3835 String [] fields ;
3936 switch (sortField ) {
4037 case "externalIp" :
41- fields = new String []{"serverIpV4 " , "serverIpV6 " };
38+ fields = new String []{"ipV4 " , "ipV6 " };
4239 break ;
4340 case "internalIp" :
4441 fields = new String []{"zabbixIp" };
@@ -51,19 +48,19 @@ public ModelAndView indexPage(@RequestParam(defaultValue = "serverNumber") Strin
5148 break ;
5249 }
5350 Sort sort = Sort .by (sortDirection , fields );
54- Iterable <ServerModel > results ;
51+ List <ServerModel > results ;
5552 if (filter .trim ().isEmpty ()) {
5653 results = serverRepository .findAll (sort );
5754 } else {
58- List < Integer > ids = serverSearchRepository . findAllBySearchDataLike ( "%" + filter .toLowerCase (Locale .ROOT ) + "%" ) ;
59- results = serverRepository .findAllByServerNumberIsIn ( ids , sort );
55+ String searchKeywords = "%" + filter .trim (). toLowerCase (Locale .ROOT ) + "%" ;
56+ results = serverRepository .findAllBySearchKeywordsLike ( searchKeywords , sort );
6057 }
61- List <ServerListViewModel > servers = Streams .stream (results )
58+ List <ServerListViewModel > servers = results .stream ()
6259 .map (s -> ServerListViewModel .builder ()
63- .serverNumber (s .getServerNumber ())
64- .serverName (s .getServerName ())
60+ .id (s .getId ())
61+ .name (s .getName ())
6562 .hostName (s .getZabbixHost ())
66- .externalIp (s .getServerIpV4 () == null ? s .getServerIpV6 () : s .getServerIpV4 ())
63+ .externalIp (s .getIpV4 () == null ? s .getIpV6 () : s .getIpV4 ())
6764 .internalIp (s .getZabbixIp ())
6865 .product (s .getProduct ())
6966 .dc (s .getDc ())
@@ -83,7 +80,7 @@ private String buildZabbixUrl(ServerModel server) {
8380 }
8481
8582 private String buildHetznerUrl (ServerModel server ) {
86- return appConfig .getRobot ().getWebUrl () + "/server?text=" + server .getServerNumber ();
83+ return appConfig .getRobot ().getWebUrl () + "/server?text=" + server .getId ();
8784 }
8885
8986 @ GetMapping ("details" )
0 commit comments