Commit Graph
87 Commits
Author SHA1 Message Date
Jeppe Bundgaard acdff75311 Add requestBooleanFlag helper and enhance session synchronization logic
- Introduce `requestBooleanFlag` method for consistent boolean parameter handling with default values.
- Add `activate_machine` and `sync_relay_state` parameters to `synchronizeSession` for more flexible relay and machine activation control.
- Update methods, routes, and tests to integrate the new session synchronization parameters effectively.
- Enhance debugging support with additional metadata in simulation and payload captures.
2026-04-28 16:54:57 +02:00
Jeppe Bundgaard 5b94c9407b Add service and role properties to task and binding nodes in Self-serve Studio Graph tests 2026-04-28 15:42:19 +02:00
Jeppe Bundgaard 206b487fa2 Add new table and enhance studio layout logic
Introduce `department_selfserve_studio_layouts` table for department-specific layouts and implement advanced auto-layout functionality in the DepartmentSelfServeStudio module. Added custom node definitions, updated styling, and integrated new logics for sorting and visualizing nodes in the Vue Flow interface.
2026-04-28 14:21:31 +02:00
Jeppe Bundgaard 72df2244ca Add self-serve API fixtures and enhance session synchronization logic
- Implement `createSelfServeScenario` to generate comprehensive self-serve test fixtures, including departments, lanes, tasks, and sessions.
- Add `syncRelayState` parameter to `synchronizeSession` for decoupled relay hardware synchronization.
- Update relevant routes and tests to reflect changes in session synchronization methods.
- Enhance Shelly request handling by blocking real device interactions in test mode with detailed logging.
2026-04-28 12:28:29 +02:00
Jeppe Bundgaard 55f8f25fd7 Add broker diagnostics and enhance relay logging
- Implement `diagnoseBrokerConfiguration` to validate broker URLs, shared secrets, and connection health.
- Add diagnostic methods for shared secret validation, including legacy sync support.
- Extend relay logging with descriptive context (`relay_name`, `relay_role`) and dynamic messaging.
- Update tests to cover broker health and shared secret diagnostics.
2026-04-28 11:30:09 +02:00
Jeppe Bundgaard c73e459d26 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`.
2026-04-28 10:04:17 +02:00
Jeppe Bundgaard e93d3f30d2 Add support for Shelly device generation detection and update related tests
- Implement generation detection logic for Shelly devices using model codes, metadata, and type inference.
- Extend relay switch and inventory handling to include generation capabilities.
- Ensure compatibility with Gen1, Gen2, and Gen3 devices for relay control and diagnostics.
- Update unit tests to validate generation inference, fallback behavior, and API compatibility.
2026-04-27 17:40:39 +02:00
Jeppe Bundgaard ae5cb7c65f Add toggle_after timer support for relay switches and update unit tests
- Extend relay switch logic to include `toggle_after` parameter for timed toggles.
- Update unit tests in `SelfserveLanePortControllerTest` and `SelfserveRouteWiringTest` to validate timer behavior.
- Adjust Shelly API calls and assertions to handle timer values in both RPC and legacy endpoints.
2026-04-27 17:15:53 +02:00
Jeppe Bundgaard feb9aac4f7 Handle relay command job timeouts for edge gateways
- Introduce `expireTimedOutRelayStatusCommandJobs` to clean up long-pending relay status command jobs.
- Add `TIMED_OUT` status for relay command jobs and incorporate it into job status evaluations.
- Refactor command job finalization to support timeout-specific error messaging.
- Improve handling of fast-path failures in edge broker commands.
2026-04-27 16:47:09 +02:00
Jeppe Bundgaard 86eec9a51e Add timer support for relay switch commands and update tests
- Introduce `dispatchRelaySwitchWithTimer` and `dispatchRelaySwitchLocalOnlyWithTimer` methods for timed relay control.
- Extend `dispatchRelaySwitchWithOptions` to handle `toggleAfterSeconds` parameter.
- Update tests to validate timer functionality for local Shelly APIs.
- Ensure backwards compatibility with legacy APIs and adjust payloads accordingly.
2026-04-27 16:19:14 +02:00
Jeppe Bundgaard f2e2b9a8f4 Update relay-handling logic and test assertions for device binding and local IP resolution
- Correct test cases to ensure proper relay IDs are switched.
- Add robust local IP resolution for relay-device bindings, including caching and inventory backfill.
- Introduce fast-path options for relay status and switch dispatch.
- Validate PHP extensions (`curl`, `sqlite3`) in edge agent images.
2026-04-27 16:02:36 +02:00
Jeppe Bundgaard c95fd3a23c Add fallback handling for telemetry ingestion failures in broker and HTTP persistence check for control plane events 2026-04-27 11:52:38 +02:00
Jeppe Bundgaard ebe1299089 Fix PHP unit test isolation 2026-04-24 20:17:01 +02:00
Jeppe Bundgaard ed13f7a8d4 Add guarded legacy route shims for Edge Gateway with corresponding unit tests 2026-04-24 15:51:09 +02:00
Jeppe Bundgaard 0813bfc0f0 Add customer mass import service with API route, test coverage, and e-conomic integration 2026-04-23 21:07:21 +02:00
Jeppe Bundgaard b9ddc585db Add Edge Gateway tests for unit, API, and integration scenarios 2026-04-23 15:48:51 +02:00
Jeppe Bundgaard c38a4379bd Add department hardware workspace and plate scanner updates 2026-04-23 13:31:57 +02:00
Jeppe Bundgaard e09e23025d Add Edge Broker service and rename 'rows' column to 'terminal_rows' in Edge Gateway schema 2026-04-22 19:31:21 +02:00
Jeppe Bundgaard 4c32eae49a Remove deprecated Edge Gateway Agent classes and related services 2026-04-22 19:08:44 +02:00
Jeppe Bundgaard 0d3c2d70bf Add auto-updater service with Docker integration, stack dependencies, and heartbeat management 2026-04-22 15:49:21 +02:00
Jeppe Bundgaard fd830deda9 Implement stack health diagnostics, timeout adjustments, and cleanup dependencies 2026-04-22 15:00:12 +02:00
Jeppe Bundgaard f4952f16e6 Add caching layer for edge gateway views, including payload storage, retrieval, sync, and invalidation 2026-04-22 14:23:24 +02:00
Jeppe Bundgaard 9cfb19a3ba Replace CI PHP suite execution script with Composer commands and integrate Edge Gateway Agent stack artifacts 2026-04-22 12:03:08 +02:00
Jeppe Bundgaard 0b18433fdf Add unit tests for EconomicCustomerModel parsing and validation 2026-04-21 15:07:41 +02:00
Jeppe Bundgaard 7d450e285e Remove outdated edge gateway object classes, add new agent implementation
Transitioned from obsolete gateway object classes (`edge_gateway_shell_action_jobs_o`, `edge_gateway_shell_events_o`, `edge_gateway_shell_sessions_o`, `edge_gateway_update_jobs_o`) to the new agent implementation (`edge-gateway-agent/agent.php`).
2026-04-21 14:13:17 +02:00
Jeppe Bundgaard d30a006457 Add delivery metadata support, preferred channels, and enhanced agent validation
This commit introduces delivery metadata tracking for gateway commands, updates, and shells. Adds preferred delivery channel handling, refined validation for edge agents, improved relay management logic, and broker presence reporting. Includes schema changes, enhanced shell handling, and test coverage.
2026-04-16 13:44:28 +02:00
Jeppe Bundgaard 56685d7bf3 Add tests and functionality for edge gateway updates and lifecycle
This commit introduces unit tests, E2E tests, and implementation updates related to edge gateway lifecycle management, including update handling, artifact validation, and rollback mechanisms. It also refines routing, component interaction, and backend methods to improve update tracking, status transitions, and artifact management.
2026-04-15 11:53:45 +02:00
Jeppe Bundgaard 40ded9ed95 Add tests for API fixture cleanup and optimize customer trace removal logic 2026-04-15 09:17:46 +02:00
Jeppe Bundgaard ebf7e820d5 Add safety seal support to orders and related logic for wash certificates
- Introduced `safety_seal` column in the `orders` table.
- Updated order creation and completion logic to handle safety seal values.
- Enhanced order and booking classes to manage safety seal attachment and retrieval.
- Added tests to validate safety seal functionality in order processing.
2026-04-14 10:51:25 +02:00
Jeppe Bundgaard dc79352f40 Add unit tests for vehicle search metadata alignment and extend API fixtures for vehicle and order item creation. Refactor booking and route handling logic for booked vehicle searches. 2026-04-13 21:42:37 +02:00
Jeppe Bundgaard d267fb0f09 Expand Bird Voice Webhook tests to cover scenarios with shared gates and distinct entrance/exit gates, refine payload validation, and enhance gate resolution logic. 2026-04-13 17:55:53 +02:00
Jeppe Bundgaard 8465ee794d Add API test suite for Bird Voice Webhook endpoints, including comprehensive lifecycle tests for inbound call handling scenarios. Extend fixtures with department gate creation support and update OpenAPI spec validations. 2026-04-13 17:08:37 +02:00
Jeppe Bundgaard 2a8e8986e6 Add API testing framework and initial test cases for authentication endpoints 2026-04-13 11:50:10 +02:00
Jeppe Bundgaard a83b850aba Remove edge_broker_client.php and related unit tests. Add new dependencies and configuration files for edge-agent, including build scripts and package-lock updates. 2026-04-13 09:42:35 +02:00
Jeppe Bundgaard 16c9cd9931 Extend agent-cli with sync command, enhance schema validation for complaints, and add coverage for gateway command tests. 2026-04-09 16:31:58 +02:00
Jeppe Bundgaard 2a0a3468c1 Add dockerized fake-agent for integration testing and live edge-broker smoke tests. Introduce agent CLI status command and report helpers. Add browser shell session handling for disconnected agents. Extend tests and improve token validation flow. 2026-04-09 16:31:38 +02:00
Jeppe Bundgaard 745e68aa4f Add wash_date and category fields to complaints, update schema and OpenAPI spec, and extend unit and integration tests for validation and route handling. 2026-04-09 14:16:35 +02:00
Jeppe Bundgaard 22f856c62a Add unit tests for invoicing, orders normalization, gateway commands, and department complaints. Update schema bootstraps and improve agent command execution logic. 2026-04-09 12:24:22 +02:00
Jeppe Bundgaard 9e9372db05 Add unit tests for Bird department gate phone call logic, Edge Broker configuration, and gateway heartbeat status. Refactor warnings handling, Slack notifications, Bird client usage, and Edge gateway probes for improved maintainability and error clarity. 2026-04-09 08:53:10 +02:00
Jeppe Bundgaard 45b7250480 Add Edge Agent implementation for gateway connection lifecycle, agent commands, Shelly device discovery, relay control, and WebSocket communication with broker. Include unit tests for critical flows. 2026-04-08 19:01:42 +02:00
Jeppe Bundgaard 653680376a Add unit and integration tests for collected invoice queue handling, route hardening, lifecycle validation, and manual batch processing logic. 2026-04-08 15:53:22 +02:00
Jeppe Bundgaard c5cd42be7f Add unit and integration tests for economic_transfer_queue and related endpoints, replacing synchronous fallback methods with queue-based processing. 2026-04-08 12:29:57 +02:00
Jeppe Bundgaard ba23ad6e8f Add economic_transfer_executor and economic_transfer_queue classes for handling e-conomic invoice transfer logic, queue management, and processing. Include unit tests for Redis cache validation. 2026-04-08 11:20:08 +02:00
Jeppe Bundgaard 551161b692 Add unit tests for Bird webhook lifecycle, economic customer handling, and payment terms routes with improved error scenarios and response validation. Refactor configuration to support economic API fallback tokens. 2026-04-01 17:44:25 +02:00
Jeppe Bundgaard 0dc1581eb4 Add unit tests for self-serve invoice billing logic, refactor minute-based billing calculations, and improve error handling for billable minutes adjustments. 2026-03-26 21:09:21 +01:00
Jeppe Bundgaard b42a1a69a0 Refactor and centralize Shelly rate-limiting logic in the shelly class, add global enforcement and unit tests, and remove redundant implementations in self-serve lane controllers. 2026-03-26 20:15:36 +01:00
Jeppe Bundgaard 2ba9c30b85 Add bird_payload classes for payload abstraction and normalization across flash and voice call routes, integrate with request validators, and add unit tests. 2026-03-26 15:56:49 +01:00
Jeppe Bundgaard fcf9924adc Add bird_flash_calls_client implementation with endpoint builder, request schemas, and validator for managing flash call functionality. 2026-03-26 15:18:55 +01:00
Jeppe Bundgaard a292c8a277 Enhance Bird class with flash call fallback logic, caller ID validation, and unit test coverage. Update gate call handling to prefer flash calls with fallback to regular calls. 2026-03-26 13:51:41 +01:00
Jeppe Bundgaard 6208f0ee1c Add flash call functionality to Bird class with support for gate flash call handling and unit tests. 2026-03-26 13:40:26 +01:00