From dfac25d3603e0565eda175edc62f898510317901 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Fri, 25 Jan 2019 10:37:10 +0100 Subject: [PATCH] openvidu-server: update config REST controller (GET openvidu-server version) --- openvidu-server/pom.xml | 12 +++++++ .../server/config/OpenviduConfig.java | 9 ++++++ .../server/rest/ConfigRestController.java | 32 +++++++++++++++++++ 3 files changed, 53 insertions(+) diff --git a/openvidu-server/pom.xml b/openvidu-server/pom.xml index 099ef602..2e050cbd 100644 --- a/openvidu-server/pom.xml +++ b/openvidu-server/pom.xml @@ -82,6 +82,12 @@ ZIP + + build-info + + build-info + + repackage @@ -136,6 +142,12 @@ exec + + build-info + + build-info + + repackage diff --git a/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java b/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java index 7675389b..1a15ad88 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java +++ b/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java @@ -17,7 +17,9 @@ package io.openvidu.server.config; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.info.BuildProperties; import org.springframework.stereotype.Component; import io.openvidu.server.core.ParticipantRole; @@ -25,6 +27,9 @@ import io.openvidu.server.core.ParticipantRole; @Component public class OpenviduConfig { + @Autowired + BuildProperties buildProperties; + @Value("${openvidu.publicurl}") private String openviduPublicUrl; // local, docker, [FINAL_URL] @@ -90,6 +95,10 @@ public class OpenviduConfig { private String finalUrl; + public String getOpenViduServerVersion() { + return this.buildProperties.getVersion(); + } + public String getOpenViduPublicUrl() { return this.openviduPublicUrl; } diff --git a/openvidu-server/src/main/java/io/openvidu/server/rest/ConfigRestController.java b/openvidu-server/src/main/java/io/openvidu/server/rest/ConfigRestController.java index 812164c9..2c3cdc91 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/rest/ConfigRestController.java +++ b/openvidu-server/src/main/java/io/openvidu/server/rest/ConfigRestController.java @@ -18,11 +18,17 @@ package io.openvidu.server.rest; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import com.google.gson.JsonObject; + import io.openvidu.server.config.OpenviduConfig; /** @@ -37,6 +43,11 @@ public class ConfigRestController { @Autowired protected OpenviduConfig openviduConfig; + @RequestMapping(value = "/openvidu-version", method = RequestMethod.GET) + public String getOpenViduServerVersion() { + return openviduConfig.getOpenViduServerVersion(); + } + @RequestMapping(value = "/openvidu-publicurl", method = RequestMethod.GET) public String getOpenViduPublicUrl() { return openviduConfig.getFinalUrl(); @@ -52,4 +63,25 @@ public class ConfigRestController { return openviduConfig.getOpenViduRecordingPath(); } + @RequestMapping(method = RequestMethod.GET) + public ResponseEntity getOpenViduConfiguration() { + + JsonObject json = new JsonObject(); + json.addProperty("openviduServerVersion", openviduConfig.getOpenViduServerVersion()); + json.addProperty("openviduPublicurl", openviduConfig.getOpenViduPublicUrl()); + json.addProperty("openviduRecording", openviduConfig.isRecordingModuleEnabled()); + json.addProperty("openviduRecordingPublicAccess", openviduConfig.getOpenViduRecordingPublicAccess()); + json.addProperty("openviduRecordingPath", openviduConfig.getOpenViduRecordingPath()); + json.addProperty("openviduRecordingVersion", openviduConfig.getOpenViduRecordingVersion()); + + HttpHeaders responseHeaders = new HttpHeaders(); + responseHeaders.setContentType(MediaType.APPLICATION_JSON); + return new ResponseEntity<>(json.toString(), responseHeaders, HttpStatus.OK); + } + + @RequestMapping(value = "/restart", method = RequestMethod.POST) + public void restart() { + // OpenViduServer.restart(); + } + }