From feddac372fc8f5dc3b12fc053dbf8133f77ae17f Mon Sep 17 00:00:00 2001 From: tristan Date: Thu, 21 May 2026 14:12:02 +0200 Subject: [PATCH] feat(fer-19) : endpoint GET /pont_bascule/health Co-Authored-By: Claude Opus 4.7 (1M context) --- src/ApiResource/PontBasculeHealthCheck.php | 45 ++++++++++++++++++++++ src/State/PontBasculeHealthProvider.php | 32 +++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 src/ApiResource/PontBasculeHealthCheck.php create mode 100644 src/State/PontBasculeHealthProvider.php diff --git a/src/ApiResource/PontBasculeHealthCheck.php b/src/ApiResource/PontBasculeHealthCheck.php new file mode 100644 index 0000000..40fcd29 --- /dev/null +++ b/src/ApiResource/PontBasculeHealthCheck.php @@ -0,0 +1,45 @@ + ['pont_bascule:health:read']], + provider: PontBasculeHealthProvider::class, + ), + ], +)] +final class PontBasculeHealthCheck +{ + #[Groups(['pont_bascule:health:read'])] + public bool $healthy = false; + + #[Groups(['pont_bascule:health:read'])] + public bool $ok = false; + + #[Groups(['pont_bascule:health:read'])] + public bool $busy = false; + + #[Groups(['pont_bascule:health:read'])] + public bool $portConnected = false; + + #[Groups(['pont_bascule:health:read'])] + public ?string $portError = null; + + #[Groups(['pont_bascule:health:read'])] + public ?string $hostname = null; +} diff --git a/src/State/PontBasculeHealthProvider.php b/src/State/PontBasculeHealthProvider.php new file mode 100644 index 0000000..4675ad6 --- /dev/null +++ b/src/State/PontBasculeHealthProvider.php @@ -0,0 +1,32 @@ +pontBasculeService->checkHealth(); + + $resource = new PontBasculeHealthCheck(); + $resource->healthy = $health->isHealthy(); + $resource->ok = $health->isOk(); + $resource->busy = $health->isBusy(); + $resource->portConnected = $health->isPortConnected(); + $resource->portError = $health->getPortError(); + $resource->hostname = $health->getHostname(); + + return $resource; + } +}