Introduce self-serve module with lane management functionality

- Added `selfserve_lane` class to handle self-serve lane operations.
- Implemented commands (START, STOP, RESET) and states (IDLE, IN_WASH, FAULT, etc.) for lane lifecycle.
- Introduced traits for managing lane status, mode, state, caching, and port control.
- Added enums for cohesive type definitions (`selfserve_lane_command`, `selfserve_lane_status`, `selfserve_lane_state`, etc.).
- Configured `/modules/self-serve/lane/status` route to expose lane state and status via API.
- Linked self-serve configuration via `selfserve_c` and `selfserve_enabled_c` for module toggling.
- Integrated lane caching logic with Redis for performance improvements.
- Updated `index.php` to include the self-serve module.
This commit is contained in:
Jeppe Bundgaard
2025-12-08 15:34:40 +01:00
parent d3d3657dfd
commit cc6639e61b
19 changed files with 824 additions and 0 deletions
@@ -0,0 +1,27 @@
<?php
namespace modules\selfserve;
require_once WD . '/modules/selfserve/config/selfserve_enabled_c.php';
use modules\selfserve\config\selfserve_enabled_c;
use traits\module_config_t;
class selfserve_c
{
use module_config_t;
/**
* The status of the module
* @var selfserve_enabled_c $enabled
*/
public selfserve_enabled_c $enabled;
public function __construct()
{
$this->setupConfig('selfserve');
$this->allowUpdate([
selfserve_enabled_c::class
]);
$this->enabled = new selfserve_enabled_c();
}
}