diff --git a/pom.xml b/pom.xml index 66ad5b4..6cd7de7 100644 --- a/pom.xml +++ b/pom.xml @@ -15,11 +15,17 @@ scm:git:gitea@code-repo.d4science.org:MaDgIK/login-service.git HEAD + + UTF-8 + UTF-8 + ${maven.build.timestamp} + E MMM dd HH:mm:ss z yyyy + eu.dnetlib uoa-login-core - 2.0.2 + 2.1.0 diff --git a/src/main/java/eu/dnetlib/loginservice/LoginServiceApplication.java b/src/main/java/eu/dnetlib/loginservice/LoginServiceApplication.java index 2e9e2a5..bc0a6bb 100644 --- a/src/main/java/eu/dnetlib/loginservice/LoginServiceApplication.java +++ b/src/main/java/eu/dnetlib/loginservice/LoginServiceApplication.java @@ -1,8 +1,11 @@ package eu.dnetlib.loginservice; import eu.dnetlib.authentication.configuration.AuthenticationConfiguration; +import eu.dnetlib.loginservice.configuration.APIProperties; +import eu.dnetlib.loginservice.configuration.GlobalVars; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Import; import org.springframework.context.annotation.PropertySource; import org.springframework.context.annotation.PropertySources; @@ -14,6 +17,7 @@ import org.springframework.context.annotation.PropertySources; @PropertySource(value = "classpath:dnet-override.properties", ignoreResourceNotFound = true) }) @Import({AuthenticationConfiguration.class}) +@EnableConfigurationProperties({APIProperties.class, GlobalVars.class}) public class LoginServiceApplication { public static void main(String[] args) { diff --git a/src/main/java/eu/dnetlib/loginservice/configuration/APIProperties.java b/src/main/java/eu/dnetlib/loginservice/configuration/APIProperties.java new file mode 100644 index 0000000..52f63c0 --- /dev/null +++ b/src/main/java/eu/dnetlib/loginservice/configuration/APIProperties.java @@ -0,0 +1,38 @@ +package eu.dnetlib.loginservice.configuration; + +import org.springframework.boot.context.properties.ConfigurationProperties; + +@ConfigurationProperties("api") +public class APIProperties { + + private String title; + private String description; + private String version; + + public APIProperties() { + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } +} diff --git a/src/main/java/eu/dnetlib/loginservice/configuration/GlobalVars.java b/src/main/java/eu/dnetlib/loginservice/configuration/GlobalVars.java new file mode 100644 index 0000000..7e330b7 --- /dev/null +++ b/src/main/java/eu/dnetlib/loginservice/configuration/GlobalVars.java @@ -0,0 +1,31 @@ +package eu.dnetlib.loginservice.configuration; + +import org.springframework.boot.context.properties.ConfigurationProperties; + +import java.util.Date; + +@ConfigurationProperties("login-service.globalVars") +public class GlobalVars { + public static Date date = new Date(); + private Date buildDate; + private String version; + + public String getBuildDate() { + if(buildDate == null) { + return null; + } + return buildDate.toString(); + } + + public void setBuildDate(Date buildDate) { + this.buildDate = buildDate; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } +} diff --git a/src/main/java/eu/dnetlib/loginservice/configuration/SwaggerConfig.java b/src/main/java/eu/dnetlib/loginservice/configuration/SwaggerConfig.java index 94a580d..6c61f56 100644 --- a/src/main/java/eu/dnetlib/loginservice/configuration/SwaggerConfig.java +++ b/src/main/java/eu/dnetlib/loginservice/configuration/SwaggerConfig.java @@ -1,6 +1,5 @@ package eu.dnetlib.loginservice.configuration; -import eu.dnetlib.authentication.configuration.APIProperties; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/src/main/java/eu/dnetlib/loginservice/controllers/HealthController.java b/src/main/java/eu/dnetlib/loginservice/controllers/HealthController.java index 90b6df6..1b11aa7 100644 --- a/src/main/java/eu/dnetlib/loginservice/controllers/HealthController.java +++ b/src/main/java/eu/dnetlib/loginservice/controllers/HealthController.java @@ -1,7 +1,6 @@ package eu.dnetlib.loginservice.controllers; -import eu.dnetlib.authentication.configuration.AuthenticationConfiguration; -import eu.dnetlib.authentication.configuration.Properties; +import eu.dnetlib.loginservice.configuration.GlobalVars; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; @@ -10,16 +9,17 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import java.util.HashMap; import java.util.Map; @RestController public class HealthController { private final Logger log = LogManager.getLogger(this.getClass()); - private final AuthenticationConfiguration configuration; + private final GlobalVars globalVars; @Autowired - public HealthController(AuthenticationConfiguration configuration) { - this.configuration = configuration; + public HealthController(GlobalVars globalVars) { + this.globalVars = globalVars; } @RequestMapping(value = {"", "/health_check"}, method = RequestMethod.GET) @@ -31,6 +31,16 @@ public class HealthController { @PreAuthorize("hasAnyAuthority('PORTAL_ADMINISTRATOR')") @RequestMapping(value = "/health_check/advanced", method = RequestMethod.GET) public Map checkEverything() { - return configuration.getProperties(); + Map response = new HashMap<>(); + if(GlobalVars.date != null) { + response.put("Date of deploy", eu.dnetlib.authentication.configuration.GlobalVars.date.toString()); + } + if(globalVars.getBuildDate() != null) { + response.put("Date of build", globalVars.getBuildDate()); + } + if (globalVars.getVersion() != null) { + response.put("Version", globalVars.getVersion()); + } + return response; } } diff --git a/src/main/resources/login-service.properties b/src/main/resources/login-service.properties index b899e3d..6a47893 100644 --- a/src/main/resources/login-service.properties +++ b/src/main/resources/login-service.properties @@ -2,3 +2,6 @@ api.title = Login Service api.description = Login service provides methods to authenticate users through AAI provider and retrieve information of authenticated user. api.version = ${project.version} + +login-service.global-vars.buildDate=@timestamp@ +login-service.global-vars.version=@project.version@