diff --git a/src/main/java/com/ffii/fpsms/config/security/SecurityConfig.java b/src/main/java/com/ffii/fpsms/config/security/SecurityConfig.java index dc16830..9c85317 100644 --- a/src/main/java/com/ffii/fpsms/config/security/SecurityConfig.java +++ b/src/main/java/com/ffii/fpsms/config/security/SecurityConfig.java @@ -91,6 +91,8 @@ public class SecurityConfig { .hasAnyAuthority("TESTING", "ADMIN", "STOCK") .requestMatchers(HttpMethod.GET, "/product-process/Demo/Process/alerts/fg-qc-putaway") .hasAuthority("TESTING") + .requestMatchers(HttpMethod.GET, "/device-presence/ping").authenticated() + .requestMatchers(HttpMethod.POST, "/device-presence/heartbeat").authenticated() .requestMatchers(HttpMethod.GET, "/device-presence/active") .hasAnyAuthority("TESTING", "ADMIN") .requestMatchers(HttpMethod.GET, "/device-presence/history") diff --git a/src/main/java/com/ffii/fpsms/modules/monitoring/web/ClientPresenceController.kt b/src/main/java/com/ffii/fpsms/modules/monitoring/web/ClientPresenceController.kt index 23f76f5..6bb36d1 100644 --- a/src/main/java/com/ffii/fpsms/modules/monitoring/web/ClientPresenceController.kt +++ b/src/main/java/com/ffii/fpsms/modules/monitoring/web/ClientPresenceController.kt @@ -3,7 +3,6 @@ package com.ffii.fpsms.modules.monitoring.web import com.ffii.core.exception.BadRequestException import com.ffii.fpsms.modules.common.SecurityUtils import com.ffii.fpsms.modules.monitoring.service.ClientPresenceService -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation.GetMapping import org.springframework.web.bind.annotation.PostMapping @@ -16,9 +15,9 @@ import java.time.LocalDate import java.time.LocalDateTime import java.time.format.DateTimeParseException +/** Always registered so client heartbeats work whenever the frontend reporter is enabled. */ @RestController @RequestMapping("/device-presence") -@ConditionalOnProperty(prefix = "fpsms.monitoring", name = ["enabled"], havingValue = "true") class ClientPresenceController( private val clientPresenceService: ClientPresenceService, ) { diff --git a/src/main/resources/application-db-toa.yml b/src/main/resources/application-db-toa.yml index 8e0e0da..1a57ad5 100644 --- a/src/main/resources/application-db-toa.yml +++ b/src/main/resources/application-db-toa.yml @@ -2,4 +2,9 @@ spring: datasource: jdbc-url: jdbc:mysql://10.100.0.81:3006/fpsmsdb?useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8 username: root - password: secret \ No newline at end of file + password: secret + +# TOA deployments: enable heartbeat scanners + printer checks (same as prod). +fpsms: + monitoring: + enabled: true \ No newline at end of file