diff --git a/pom.xml b/pom.xml
index 357a67e..45528c4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -128,6 +128,13 @@
+
+
+
+ build-info
+
+
+
diff --git a/src/main/java/de/zendric/app/xpensely_server/controller/HomeController.java b/src/main/java/de/zendric/app/xpensely_server/controller/HomeController.java
index 12a8948..842d575 100644
--- a/src/main/java/de/zendric/app/xpensely_server/controller/HomeController.java
+++ b/src/main/java/de/zendric/app/xpensely_server/controller/HomeController.java
@@ -1,13 +1,30 @@
package de.zendric.app.xpensely_server.controller;
+import org.springframework.boot.info.BuildProperties;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.util.Map;
+
@RestController
class HomeController {
+ private final BuildProperties buildProperties;
+
+ HomeController(BuildProperties buildProperties) {
+ this.buildProperties = buildProperties;
+ }
+
@GetMapping("/")
public String getAll() {
return "Welcome";
}
+
+ @GetMapping("/api/version")
+ public Map version() {
+ return Map.of(
+ "version", buildProperties.getVersion(),
+ "builtAt", buildProperties.getTime().toString()
+ );
+ }
}
\ No newline at end of file
diff --git a/src/main/java/de/zendric/app/xpensely_server/security/SecurityConfig.java b/src/main/java/de/zendric/app/xpensely_server/security/SecurityConfig.java
index 19a8a19..2b85f99 100644
--- a/src/main/java/de/zendric/app/xpensely_server/security/SecurityConfig.java
+++ b/src/main/java/de/zendric/app/xpensely_server/security/SecurityConfig.java
@@ -28,6 +28,7 @@ public class SecurityConfig {
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests(auth -> auth
+ .requestMatchers("/api/version").permitAll()
.anyRequest().authenticated())
.oauth2ResourceServer(oauth2 -> oauth2
.jwt(Customizer.withDefaults()))