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 d97ca32..9158d12 100644 --- a/src/main/java/com/ffii/fpsms/config/security/SecurityConfig.java +++ b/src/main/java/com/ffii/fpsms/config/security/SecurityConfig.java @@ -109,6 +109,8 @@ public class SecurityConfig { .hasAnyAuthority("TESTING", "ADMIN") .requestMatchers(HttpMethod.GET, "/label-printer-monitor/label-stats") .hasAnyAuthority("TESTING", "ADMIN") + .requestMatchers(HttpMethod.GET, "/label-printer-monitor/odometer-stats") + .hasAnyAuthority("TESTING", "ADMIN") .requestMatchers(HttpMethod.POST, "/stockAdjustment/submit") .hasAnyAuthority("ADMIN", "INVENTORY_ADJUST") .anyRequest().authenticated()) diff --git a/src/main/java/com/ffii/fpsms/modules/monitoring/web/LabelPrinterMonitorController.kt b/src/main/java/com/ffii/fpsms/modules/monitoring/web/LabelPrinterMonitorController.kt index 75537dc..d5a8b0d 100644 --- a/src/main/java/com/ffii/fpsms/modules/monitoring/web/LabelPrinterMonitorController.kt +++ b/src/main/java/com/ffii/fpsms/modules/monitoring/web/LabelPrinterMonitorController.kt @@ -1,7 +1,6 @@ package com.ffii.fpsms.modules.monitoring.web import com.ffii.fpsms.modules.monitoring.service.LabelPrinterMonitorService -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 @@ -12,9 +11,9 @@ import java.time.LocalDate import java.time.LocalDateTime import java.time.format.DateTimeParseException +/** Always registered so the monitor UI can probe label printers on demand (schedulers stay profile-gated). */ @RestController @RequestMapping("/label-printer-monitor") -@ConditionalOnProperty(prefix = "fpsms.monitoring", name = ["enabled"], havingValue = "true") class LabelPrinterMonitorController( private val labelPrinterMonitorService: LabelPrinterMonitorService, ) { diff --git a/src/main/java/com/ffii/fpsms/modules/monitoring/web/PrinterMonitorController.kt b/src/main/java/com/ffii/fpsms/modules/monitoring/web/PrinterMonitorController.kt index af0ac39..7acbd13 100644 --- a/src/main/java/com/ffii/fpsms/modules/monitoring/web/PrinterMonitorController.kt +++ b/src/main/java/com/ffii/fpsms/modules/monitoring/web/PrinterMonitorController.kt @@ -1,7 +1,6 @@ package com.ffii.fpsms.modules.monitoring.web import com.ffii.fpsms.modules.monitoring.service.PrinterMonitorService -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 @@ -12,9 +11,9 @@ import java.time.LocalDate import java.time.LocalDateTime import java.time.format.DateTimeParseException +/** Always registered so the monitor UI can probe printers on demand (schedulers stay profile-gated). */ @RestController @RequestMapping("/printer-monitor") -@ConditionalOnProperty(prefix = "fpsms.monitoring", name = ["enabled"], havingValue = "true") class PrinterMonitorController( private val printerMonitorService: PrinterMonitorService, ) { diff --git a/src/main/resources/application-db-local.yml b/src/main/resources/application-db-local.yml index 2aff475..dd631fd 100644 --- a/src/main/resources/application-db-local.yml +++ b/src/main/resources/application-db-local.yml @@ -4,7 +4,8 @@ spring: username: root password: secret -# Monitoring off for local dev (prod only). To test: enabled true + frontend NEXT_PUBLIC_MONITORING_ENABLED=true. +# Monitoring off for local dev (prod only). Printer/device monitor APIs are always registered; +# background schedulers only run when enabled is true. fpsms: monitoring: enabled: false \ No newline at end of file