diff --git a/avni-server-api/src/main/java/org/avni/server/web/ConfigurationController.java b/avni-server-api/src/main/java/org/avni/server/web/ConfigurationController.java new file mode 100644 index 000000000..6f34a9acd --- /dev/null +++ b/avni-server-api/src/main/java/org/avni/server/web/ConfigurationController.java @@ -0,0 +1,17 @@ +package org.avni.server.web; + +import org.avni.server.web.util.Configuration; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class ConfigurationController { + @Autowired + private Configuration configuration; + @GetMapping("/Config") + public ResponseEntity getReportConfig(){ + return ResponseEntity.ok(configuration); + } +} diff --git a/avni-server-api/src/main/java/org/avni/server/web/util/Configuration.java b/avni-server-api/src/main/java/org/avni/server/web/util/Configuration.java new file mode 100644 index 000000000..b876f8cf9 --- /dev/null +++ b/avni-server-api/src/main/java/org/avni/server/web/util/Configuration.java @@ -0,0 +1,20 @@ +package org.avni.server.web.util; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Component +@ConfigurationProperties(prefix = "avni") +public class Configuration { + private List reportingSystems; + + public List getReportingSystems() { + return reportingSystems; + } + + public void setReportingSystems(List reportingSystems) { + this.reportingSystems = reportingSystems; + } +} diff --git a/avni-server-api/src/main/java/org/avni/server/web/util/ReportingSystem.java b/avni-server-api/src/main/java/org/avni/server/web/util/ReportingSystem.java new file mode 100644 index 000000000..233bdb7e5 --- /dev/null +++ b/avni-server-api/src/main/java/org/avni/server/web/util/ReportingSystem.java @@ -0,0 +1,23 @@ +package org.avni.server.web.util; + +public class ReportingSystem { + private String name; + private String url; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} diff --git a/avni-server-api/src/main/resources/application.properties b/avni-server-api/src/main/resources/application.properties index ee09c28db..eea7103c4 100644 --- a/avni-server-api/src/main/resources/application.properties +++ b/avni-server-api/src/main/resources/application.properties @@ -146,3 +146,11 @@ avni.enhancedValidation.enabled=${AVNI_ENHANCED_VALIDATION:true} avni.exception.in.response=${AVNI_SEND_EXCEPTION_IN_RESPONSE:true} logging.level.org.hibernate.SQL=OFF + +#reporting +avni.reportingSystems[0].name=Metabase Reports +avni.reportingSystems[0].url=https://reporting.avniproject.org +avni.reportingSystems[1].name=Jasper Reports +avni.reportingSystems[1].url=https://reporting-jasper.avniproject.org/jasperserver/login.html +avni.reportingSystems[2].name=Superset Reports +avni.reportingSystems[2].url=https://reporting-superset.avniproject.org/login/ \ No newline at end of file