Add API Properties and Global Vars. Update login-core

This commit is contained in:
Konstantinos Triantafyllou 2023-07-28 10:02:30 +03:00
parent c8fb6444b3
commit 58ee81d77b
6 changed files with 90 additions and 8 deletions

View File

@ -19,7 +19,7 @@
<dependency>
<groupId>eu.dnetlib</groupId>
<artifactId>uoa-login-core</artifactId>
<version>2.0.2</version>
<version>2.0.3</version>
</dependency>
<!--swagger-->
<dependency>

View File

@ -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) {

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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<String, String> checkEverything() {
return configuration.getProperties();
Map<String, String> 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;
}
}