X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-backend%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fric%2Fportal%2Fdashboard%2Fcontroller%2FAdminController.java;h=17d9843919e608b66f9722a52e0c2b0270f579aa;hb=e020df304f6faa1d90f64ddea14407aec1c15dcb;hp=bb3700ed414f301e8ff3329a5f18dfd8f6eba933;hpb=09a0d3c769ba83727fe454093cd6054eca77cfdf;p=portal%2Fric-dashboard.git diff --git a/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/AdminController.java b/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/AdminController.java index bb3700ed..17d98439 100644 --- a/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/AdminController.java +++ b/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/AdminController.java @@ -30,6 +30,8 @@ import org.oransc.ric.portal.dashboard.DashboardConstants; import org.oransc.ric.portal.dashboard.DashboardUserManager; import org.oransc.ric.portal.dashboard.model.ErrorTransport; import org.oransc.ric.portal.dashboard.model.IDashboardResponse; +import org.oransc.ric.portal.dashboard.model.RicInstanceList; +import org.oransc.ric.portal.dashboard.model.RicInstanceKeyName; import org.oransc.ric.portal.dashboard.model.SuccessTransport; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -55,8 +57,9 @@ public class AdminController { // Publish paths in constants so tests are easy to write public static final String CONTROLLER_PATH = DashboardConstants.ENDPOINT_PREFIX + "/admin"; - public static final String USER_METHOD = "user"; public static final String HEALTH_METHOD = "health"; + public static final String INSTANCE_METHOD = "instance"; + public static final String USER_METHOD = "user"; public static final String VERSION_METHOD = DashboardConstants.VERSION_METHOD; public static final String XAPPMETRICS_METHOD = "metrics"; @@ -69,6 +72,9 @@ public class AdminController { @Autowired private DashboardUserManager dashboardUserManager; + @Autowired + private RicInstanceList instanceConfig; + @ApiOperation(value = "Gets the Dashboard MANIFEST.MF property Implementation-Version.", response = SuccessTransport.class) @GetMapping(VERSION_METHOD) // No role required @@ -96,9 +102,17 @@ public class AdminController { return dashboardUserManager.getUsers(); } + @ApiOperation(value = "Gets the list of RIC instances.", response = RicInstanceKeyName.class, responseContainer = "List") + @GetMapping(INSTANCE_METHOD) + @Secured({ DashboardConstants.ROLE_ADMIN, DashboardConstants.ROLE_STANDARD }) + public List getInstances() { + logger.debug("getInstances"); + return instanceConfig.getKeyNameList(); + } + @ApiOperation(value = "Gets the kibana metrics URL for the specified app.", response = SuccessTransport.class) @GetMapping(XAPPMETRICS_METHOD) - // No role required + @Secured({ DashboardConstants.ROLE_ADMIN, DashboardConstants.ROLE_STANDARD }) public IDashboardResponse getAppMetricsUrl(@RequestParam String app, HttpServletResponse response) { String metricsUrl = null; if (DashboardConstants.APP_NAME_AC.equals(app))