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();
+ }
+
}