Add edge gateway broker configurations and session management routes

- Add broker-related configuration classes (`broker_url`, `public_broker_url`, `auth_mode`, `shared_secret`) to support edge gateway functionality.
- Enhance `SelfserveRoute` with routes for managing self-serve wash sessions, including session listing, detail retrieval, and forced lane stop.
- Update unit tests to validate new configuration handling, session routes, and OpenAPI endpoint coverage.
- Include default environment variables for broker settings in `docker-compose.example.yml`.
This commit is contained in:
Jeppe Bundgaard
2026-04-28 10:04:17 +02:00
parent 2aded0812a
commit c73e459d26
37 changed files with 1960 additions and 67 deletions
@@ -1,8 +1,10 @@
<?php
app_require('classes/edge_gateway_manager.php');
app_require('modules/edgegateway/config/edgegateway_public_broker_url_c.php');
use classes\edge_gateway_manager;
use modules\edgegateway\config\edgegateway_public_broker_url_c;
class EdgeGatewayManagerUrlHarness extends edge_gateway_manager
{
@@ -15,8 +17,13 @@ function with_edge_gateway_server_state(array $server, callable $callback): void
{
$originalServer = $_SERVER;
$originalPublicApiUrl = getenv('EDGE_PUBLIC_API_URL');
$originalPublicBrokerUrl = getenv('EDGE_PUBLIC_BROKER_URL');
$publicBrokerConfig = new edgegateway_public_broker_url_c();
$originalPublicBrokerConfig = $publicBrokerConfig->getVariableValue();
$_SERVER = $server;
putenv('EDGE_PUBLIC_BROKER_URL');
$publicBrokerConfig->setVariableValue('');
try {
$callback();
@@ -27,6 +34,12 @@ function with_edge_gateway_server_state(array $server, callable $callback): void
} else {
putenv('EDGE_PUBLIC_API_URL=' . $originalPublicApiUrl);
}
if ($originalPublicBrokerUrl === false) {
putenv('EDGE_PUBLIC_BROKER_URL');
} else {
putenv('EDGE_PUBLIC_BROKER_URL=' . $originalPublicBrokerUrl);
}
$publicBrokerConfig->setVariableValue($originalPublicBrokerConfig);
}
}