Skip to content

Commit 860e4ce

Browse files
committed
feat: implement /health and /version endpoints for Admin API
1 parent 2a5cf68 commit 860e4ce

5 files changed

Lines changed: 26 additions & 21 deletions

File tree

src/main/java/com/iemr/admin/controller/health/HealthController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,4 @@ public ResponseEntity<Map<String, Object>> health() {
5757
logger.info("Health check completed with status: {}", status);
5858
return ResponseEntity.status(httpStatus).body(healthStatus);
5959
}
60-
}
60+
}

src/main/java/com/iemr/admin/controller/version/VersionController.java

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,16 @@
2121
*/
2222
package com.iemr.admin.controller.version;
2323

24+
import java.util.Map;
25+
2426
import org.slf4j.Logger;
2527
import org.slf4j.LoggerFactory;
2628
import org.springframework.beans.factory.annotation.Autowired;
2729
import org.springframework.http.MediaType;
28-
import org.springframework.web.bind.annotation.RequestMapping;
29-
import org.springframework.web.bind.annotation.RequestMethod;
30+
import org.springframework.web.bind.annotation.GetMapping;
3031
import org.springframework.web.bind.annotation.RestController;
3132

3233
import com.iemr.admin.service.version.VersionService;
33-
import com.iemr.admin.utils.response.OutputResponse;
3434

3535
import io.swagger.v3.oas.annotations.Operation;
3636

@@ -43,18 +43,11 @@ public class VersionController {
4343
private VersionService versionService;
4444

4545
@Operation(summary = "Version information")
46-
@RequestMapping(value = "/version", method = { RequestMethod.GET }, produces = MediaType.APPLICATION_JSON_VALUE)
47-
public String versionInformation() {
48-
OutputResponse output = new OutputResponse();
49-
try {
50-
logger.info("version Controller Start");
51-
output.setResponse(versionService.getVersionInformation());
52-
} catch (Exception e) {
53-
logger.error("Error in version controller", e);
54-
output.setError(e);
55-
}
56-
46+
@GetMapping(value = "/version", produces = MediaType.APPLICATION_JSON_VALUE)
47+
public Map<String, String> versionInformation() {
48+
logger.info("version Controller Start");
49+
Map<String, String> versionInfo = versionService.getVersionInfo();
5750
logger.info("version Controller End");
58-
return output.toString();
51+
return versionInfo;
5952
}
60-
}
53+
}

src/main/java/com/iemr/admin/service/health/HealthService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ private Map<String, Object> checkRedisHealth() {
176176
} catch (Exception e) {
177177
long responseTime = System.currentTimeMillis() - startTime;
178178
redisStatus.put("status", "DOWN");
179-
redisStatus.put("message", "Redis connection failed: " + e.getMessage());
179+
redisStatus.put("message", "Redis connection failed");
180180
redisStatus.put("responseTime", responseTime + "ms");
181181
redisStatus.put("error", e.getClass().getSimpleName());
182182

@@ -185,4 +185,4 @@ private Map<String, Object> checkRedisHealth() {
185185

186186
return redisStatus;
187187
}
188-
}
188+
}

src/main/java/com/iemr/admin/service/version/VersionService.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,19 @@ public class VersionService {
4747

4848
private final ObjectMapper objectMapper = new ObjectMapper();
4949

50+
/**
51+
* Get version information as a Map for direct JSON serialization
52+
* @return Map containing version information
53+
*/
54+
public Map<String, String> getVersionInfo() {
55+
return buildVersionInfo();
56+
}
57+
58+
/**
59+
* Get version information as JSON string (deprecated - use getVersionInfo() instead)
60+
* @return JSON string containing version information
61+
*/
62+
@Deprecated
5063
public String getVersionInformation() {
5164
try {
5265
Map<String, String> versionInfo = buildVersionInfo();
@@ -151,4 +164,4 @@ private String createErrorResponse() {
151164
return "{\"error\": \"Unable to retrieve version information\"}";
152165
}
153166
}
154-
}
167+
}

src/main/java/com/iemr/admin/utils/JwtUserIdValidationFilter.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ public void doFilter(ServletRequest servletRequest, ServletResponse servletRespo
6161
response.setStatus(HttpServletResponse.SC_OK);
6262
return;
6363
}
64-
6564
logger.info("JwtUserIdValidationFilter invoked for path: " + path);
6665

6766
// Log cookies for debugging

0 commit comments

Comments
 (0)