Commit Graph
100 Commits
Author SHA1 Message Date
Jeppe B fe3719530a Fix edge gateway PHP image extensions 2026-06-01 19:19:01 +02:00
Jeppe B 603f497bef Merge pull request #163 from copenhagentruckwash/investigate-test-failure-issues
ci: retry Release Manager gate on transient 504s
2026-06-01 17:09:13 +02:00
Jeppe B ee16db8ecc ci: retry release manager gate on transient failures 2026-06-01 16:56:34 +02:00
Jeppe B c5c33d3cf7 Merge pull request #162 from copenhagentruckwash/fix-missing-happy-path-coverage-marker
Restore selected orders API coverage
2026-06-01 16:41:45 +02:00
Jeppe B da05c5adb7 Restore selected orders API coverage 2026-06-01 16:31:06 +02:00
Jeppe B 09fa186028 Merge pull request #161 from copenhagentruckwash/codex/master-tests-pass-api-20260528
[codex] Fix backend master test gates
2026-05-29 16:32:31 +02:00
Jeppe B 50b596af39 Merge pull request #157 from copenhagentruckwash/fix-issues-and-verify-with-tests
Fix test gateway Windows config paths
2026-05-28 19:39:51 +02:00
Jeppe B af06c4d81e Merge pull request #160 from copenhagentruckwash/copilot/fix-qodana-workflow-failure
Fix Qodana failure on self-hosted runner by trusting workspace as Git safe.directory
2026-05-28 19:39:25 +02:00
Jeppe B 41ed692299 Merge pull request #159 from copenhagentruckwash/fix-subuser-token-permission-bypass
Restrict replication endpoints to classic users
2026-05-28 19:37:54 +02:00
Jeppe B aceaa6b957 Fix Qodana workflow and Windows-style test gateway paths
Update the Qodana workflow to use an available action version and avoid cloud-token failures when the secret is absent. Keep the test gateway path resolver using Windows path semantics for Windows-style inputs.
2026-05-28 19:33:02 +02:00
Jeppe B 3fb1eb9644 Restrict replication endpoints to classic users 2026-05-28 19:25:59 +02:00
Jeppe B 76dfcd70d1 Merge pull request #158 from copenhagentruckwash/fix-authorization-bypass-in-self-serve-lanes
Harden self-serve lane mutation authorization
2026-05-28 19:25:01 +02:00
Jeppe B b13abe0d30 Harden self-serve lane mutation authorization 2026-05-28 19:23:31 +02:00
Jeppe B 270e5b970f Support Windows-style test gateway paths
Resolve test gateway paths with the Windows path implementation when inputs use Windows-style syntax. This preserves the existing runnable script test suite without adding Windows-only tests.
2026-05-28 19:16:52 +02:00
Jeppe B 5dac3211ff Fix test gateway Windows config paths
### Motivation
- Tests that resolve the test gateway config directory were failing on Windows-style paths because the code always used the POSIX `path` module, producing mismatched separators.
- Preserve Windows path semantics when `rootDir` or an explicit config path uses Windows syntax while leaving POSIX behavior unchanged.

### Description
- Add `usesWindowsPathSyntax` and `pathForInputs` helpers to detect Windows-style paths and select `path.win32` when needed.
- Use the selected `pathModule` in `resolveConfigDirectory` to call `resolve`/`join` so Windows roots or explicit Windows dirs keep correct separators.
- Change is confined to `scripts/test-gateway.mjs` and does not alter other runtime behavior.

### Testing
- Ran `node --test scripts/*.test.mjs` which initially showed one failing path test and after the fix completed with all tests passing (`14` passed, `0` failed).
- Ran `npm test` in `services/edge-agent` and `services/edge-broker`, both suites passed (`18` and `23` tests respectively).
- Ran `node scripts/sync-ai-workflow.mjs --check` and `git diff --check` which both succeeded.
2026-05-28 19:11:58 +02:00
Jeppe B 4d91fc8ead Fix test gateway Windows config paths 2026-05-28 19:00:31 +02:00
Jeppe B 893ed1bda5 Fix PHP CI legacy and edge gateway tests
- Match self-serve legacy test double invoice signature.
- Wait for the edge gateway integration database before bootstrapping schema.
2026-05-28 18:03:30 +02:00
Jeppe B 20eb92891a Avoid empty self-serve invoice orders
Only create the invoice order context when elapsed minute billing has a positive quantity. This preserves automatic-mode included-minute reduction without leaving an empty order id on the lane.

Tests:
- bash scripts/php-ci-test.sh unit
2026-05-28 17:21:36 +02:00
Jeppe B 2b905df478 Fix Caddy compose mounts for self-hosted Docker runtime 2026-04-24 00:19:13 +02:00
Jeppe B d9ed1ff9de Harden self-hosted CI workflow reliability 2026-04-24 00:10:10 +02:00
Jeppe B 1c647bb78b Avoid Traefik port collisions in edge gateway CI 2026-04-23 23:52:01 +02:00
Jeppe B 39d4ba0284 Run unit CI inside php1 container on self-hosted runner 2026-04-23 23:40:12 +02:00
Jeppe B 8a5e6bc302 Prepare Qodana temp directories on self-hosted runner 2026-04-23 23:35:13 +02:00
Jeppe B e7220f4f29 Run Qodana workflow on self-hosted runner 2026-04-23 23:16:45 +02:00
Jeppe B 54bada14f5 Fix edge agent shell polling and heartbeat metadata 2026-04-23 23:13:44 +02:00
Jeppe B 6925b47a5b Merge pull request #153 from copenhagentruckwash/backend-coolify-runner
Backend coolify runner
2026-04-21 22:19:21 +02:00
Jeppe B 218cf10ee3 Merge pull request #152 from copenhagentruckwash/edge-and-workers
Add robust edge agent and gateway update handling mechanisms
2026-04-15 13:44:12 +02:00
Jeppe B 9002b3a113 Merge pull request #139 from copenhagentruckwash/document-canonical-relationship-model-for-entities
Clarify canonical self-serve relationships and condition/question naming intent
2026-03-12 08:49:50 +01:00
Jeppe B fd389cf1a4 Merge pull request #141 from copenhagentruckwash/add-weatherapi-module-implementation-6ti277
Add WeatherAPI module with routes, config and OpenAPI definitions
2026-03-12 08:49:33 +01:00
Jeppe B 87c442040f Merge branch 'master' into add-weatherapi-module-implementation-6ti277 2026-03-12 08:49:24 +01:00
Jeppe B 7835f068b6 Merge pull request #140 from copenhagentruckwash/add-weatherapi-module-implementation
Add WeatherAPI module, config and department weather timeline endpoints
2026-03-11 14:52:16 +01:00
Jeppe B 3607aef2ca Align WeatherAPI OpenAPI schemas with actual response envelopes 2026-03-11 14:37:37 +01:00
Jeppe B 527e6a9ec4 Document WeatherAPI and department weather endpoints in OpenAPI 2026-03-11 13:56:29 +01:00
Jeppe B 3ec338457e Clarify self-serve entity relationships and naming intent 2026-03-11 13:54:11 +01:00
Jeppe B dd4c9da86c Merge pull request #137
Add Bird voice webhook handler for automated gate opening and tighten test call number handling
2026-03-09 09:47:01 +01:00
Jeppe B cc4e59a3e5 Fix inbound caller detection for Bird voice webhooks 2026-03-04 11:35:49 +01:00
Jeppe B 37f0f280d8 Adjust Bird inbound department prompt to press-digit menu 2026-03-04 11:17:57 +01:00
Jeppe B 218344650c Merge pull request #135
Implement department gates and relays objects, CRUD routes and OpenAPI docs
2026-03-03 12:06:13 +01:00
Jeppe B acc913c9b5 Implement department gates and relays objects and routes 2026-03-03 12:01:02 +01:00
Jeppe B 6853cdc9ce Merge pull request #131 from copenhagentruckwash/codex/find-and-fix-important-bug
Fix selfserve lane bootstrap failures from eager logging dependencies
2026-02-27 02:04:23 +01:00
Jeppe B 0bb032bd0f Fix selfserve lane logging bootstrap dependency handling 2026-02-27 02:02:30 +01:00
Jeppe B 48b625a8a0 Add Qodana code quality workflow 2026-02-24 10:24:21 +01:00
Jeppe B 82e41f45a9 Merge pull request #127 from copenhagentruckwash/scalability-enhancement
scalability-enhancement
2026-02-16 13:26:55 +01:00
Jeppe B d39bf2dbd6 Merge pull request #94 from copenhagentruckwash/copilot/add-openapi-documentation
Add OpenAPI 3.0.3 specification for all API routes and schemas
2026-01-05 13:16:38 +01:00
Jeppe B 62fbbdf38e Merge pull request #92 from copenhagentruckwash/updater-v1
updater-v1
2026-01-05 09:22:40 +01:00
Jeppe B a6d17b8828 Merge pull request #74 from copenhagentruckwash/xl-vask-module
Xl vask module
2025-07-14 14:26:53 +02:00
Jepp9350 ffd0606ece Enhance xlvask_tasks: introduce date range options and additional debug outputs for runSyncUsage. Add new parsers xlvask_parser_ingen_b_rster_foran_no_brush_wash_front and xlvask_parser_ht_dysebom and integrate into xlvask_helpers. Improve rate limiting and reduce FastCGI timeout in nginx configuration. Adjust execution time and memory limits in cli.php. 2025-07-14 09:22:32 +02:00
Jepp9350 edcb6e5926 Adjust cron job intervals: increase execution intervals for SyncUserEconomicCustomerDiscounts, SyncEconomicInvoiceStatus, and SyncXLVaskModuleCron to reduce frequency. 2025-07-11 08:37:34 +02:00
Jepp9350 0f8ec71ffe Enhance orders_o: add wash ID, timestamp creation, and detailed debug logging for mismatched totals. Add new parsers (xlvask_parser_ikke_b_rster_mellom_bil_og_trailer, xlvask_parser_s_be_dysebom_tak) and integrate into xlvask_helpers. Set memory limit in moduleXLVaskRoute. 2025-07-06 19:31:07 +02:00
Jepp9350 7a8edd0f28 Enhance orders_o and InvoicingPeriodRoute: expand duplicate detection logic by including additional registration fields, refine duplicate filtering criteria, and update transaction handling flag for possible duplicates. Add new xlvask_parser_ikke_ht_dysebom_mellom_bil_trailer parser and integrate it into xlvask_helpers. 2025-07-06 13:38:34 +02:00
Jepp9350 112f28228d Enhance vehiclesRoute: strip whitespace from vehicle registration numbers before setting values. 2025-07-03 12:23:02 +02:00
Jeppe B 1c7470b502 Merge pull request #71 from copenhagentruckwash/limble-module
limble-module
2025-07-03 09:59:39 +02:00
Jepp9350 3d8700bad6 Refactor InvoicingPeriodRoute: add meta parameter for transactions, enhance fixed pricing retrieval, and implement utility method for array-based object matching. 2025-07-03 09:59:12 +02:00
Jeppe B 98a616189d Merge pull request #70 from copenhagentruckwash/limble-module
limble-module
2025-07-02 12:21:08 +02:00
Jepp9350 bf6c2d711d Refactor getOrder in order_items_o: add explicit type casting for order_id to ensure proper ID handling. 2025-07-02 12:19:43 +02:00
Jeppe B f783eca8eb Merge pull request #69 from copenhagentruckwash/limble-module
limble-module
2025-07-01 13:56:03 +02:00
Jepp9350 c429c359ea Refactor getOrdersWithPossibleDuplicates and InvoicingPeriodRoute: simplify duplicate order detection, enhance customer transaction handling, and streamline object construction for improved efficiency. 2025-07-01 13:51:31 +02:00
Jepp9350 f503a5379e Enhance orders_o, order_items_o, and InvoicingPeriodRoute: add transaction and calculation methods, implement debug execution timing, refine invoicing period handling, optimize order retrieval, improve caching, and expand database query logic. 2025-07-01 13:01:01 +02:00
Jeppe B cb1731f095 Merge pull request #68 from copenhagentruckwash/limble-module
limble-module
2025-06-30 17:39:44 +02:00
Jepp9350 e583a269d0 Add getOrdersWithPossibleDuplicates method in orders_o and getPossibleDuplicates method in InvoicingPeriodRoute to identify and handle potential duplicate orders within a specified date range. 2025-06-30 17:39:11 +02:00
Jeppe B c2c5c1384f Merge pull request #65 from copenhagentruckwash/limble-module
limble-module
2025-06-30 14:40:25 +02:00
Jepp9350 6b80637208 Refactor InvoicingPeriodRoute and vehiclesRoute: streamline invoicing period data retrieval, enhance transaction handling across customer types, introduce new methods for efficient object construction, and add improved type validation in object_property. 2025-06-30 14:37:37 +02:00
Jepp9350 e0f582289f Refactor orders_o, InvoicingPeriodRoute, and object_property: enhance ID validation, streamline customer processing, and improve method structures for better data handling. 2025-06-26 16:55:37 +02:00
Jeppe B 34ddefbf3b Merge pull request #64 from copenhagentruckwash/limble-module
limble-module
2025-06-26 16:06:30 +02:00
Jepp9350 c5a6b2006f Add methods for retrieving customers and transactions within date ranges, enhance orders_o functionality, and improve customer object construction in invoicing routes. 2025-06-26 16:06:02 +02:00
Jeppe B a0d447fa87 Merge pull request #63 from copenhagentruckwash/limble-module
limble-module
2025-06-26 14:33:10 +02:00
Jepp9350 1bcd15fa2f Enhance customer_vehicles_o: add asArray caching with expiration, implement cache invalidation in object changes, and improve vehicle update flow with cache management. 2025-06-26 12:33:38 +02:00
Jepp9350 5b88ef9dc3 Refactor order and order item management: add cache invalidation, improve object change tracking, and enhance asArray conversion with caching and expiration support. 2025-06-26 08:55:58 +02:00
Jepp9350 0e90c80ee1 Uncomment vehicle cache retrieval in xlvask_vehicles helper. 2025-06-26 07:59:46 +02:00
Jepp9350 2b3ebfe357 Add xlvask_parser_h_nger to XLVask helpers imports for extended parsing functionalities 2025-06-24 10:40:52 +02:00
Jepp9350 c16d8729cb Add xlvask_parser_h_nger to XLVask helpers imports for extended parsing functionalities 2025-06-24 09:48:10 +02:00
Jepp9350 b65b1346bb Update XLVask helpers: modify parser setup string, add 'Hænger' to usage log, and clean up whitespace. 2025-06-24 09:39:20 +02:00
Jepp9350 c0ff18761d Add useDynamicPricing property and getUnitPriceExVat method in XLVask helpers. Refactor parsing logic to use integer type casting for price and count. 2025-06-24 09:16:03 +02:00
Jepp9350 dacb7ef4e0 Add xlvask_parser_h_nger helper class for handling specific XLVask product parsing 2025-06-24 08:38:35 +02:00
Jeppe B 8e0a3f041f Merge pull request #62 from copenhagentruckwash/limble-module
limble-module
2025-06-19 15:02:51 +02:00
Jepp9350 29aa63bb08 Add vehicle type handling in customer_vehicles_o, including vehicle type retrieval, setting, and creation in XLVask. Extend route logic to support vehicle type updates and auto-start on LPR configurations, incorporating enhanced validation and permission checks. Refactor and streamline helper classes for consistency and functionality expansion. 2025-06-19 15:01:22 +02:00
Jepp9350 75e3efcb89 Introduce xlvask_helper base class and refactor XLVask helper classes to extend it. Add methods for XLVask vehicle checks and retrievals, enhance vehicle caching functionality, and update helper class instantiation logic. 2025-06-19 11:06:53 +02:00
Jepp9350 9d431d55d8 Refactor vehicle synchronization logic in XLVask helpers, update instantiation, and remove legacy customer creation code. 2025-06-18 15:39:27 +02:00
Jepp9350 3bf1292775 Add runSyncVehicles method to XLVask helpers for vehicle synchronization and caching. 2025-06-18 15:34:07 +02:00
Jepp9350 6ee8c0e2b1 Add vehicle caching methods to XLVask: interface and implementation updates for handling vehicle cache. 2025-06-18 15:20:59 +02:00
Jeppe B e1d2414574 Merge pull request #60 from copenhagentruckwash/limble-module
Limble module
2025-06-18 15:05:32 +02:00
Jepp9350 9bcf52a046 Remove obsolete and commented-out legacy code in XLVask customer creation route. 2025-06-18 15:02:28 +02:00
Jepp9350 8c4dd34d68 Add multiple XLVask parser helper classes and update imports in XLVask helpers. 2025-06-18 15:01:33 +02:00
Jepp9350 8a8a6f19cf Add xlvask_parser_ht_osc_sider_lave_tur helper class and update imports in XLVask helpers. 2025-06-18 14:43:19 +02:00
Jepp9350 177767c499 Remove debugging statements and refine XLVask customer creation logic. 2025-06-18 14:36:35 +02:00
Jepp9350 bd0b1f83b8 Add validation methods to xlvask_customer, enhance default property values, and update createCustomer with new references to ensure data consistency. 2025-06-18 12:47:09 +02:00
Jepp9350 280f87535c Enhance XLVask customer handling: improve JSON encoding with error handling, refine property assignment in xlvask_customer, add debugging logs, and update customer cache logic. 2025-06-18 12:11:30 +02:00
Jeppe B ecb4b83bc2 Merge pull request #59 from copenhagentruckwash/limble-module
limble-module
2025-06-18 09:48:52 +02:00
Jepp9350 7b837a8a58 Add xlvask_parser_chassisskylning helper class and update imports in XLVask helpers. 2025-06-18 09:48:15 +02:00
Jeppe B 127a80ef26 Merge pull request #58 from copenhagentruckwash/limble-module
limble-module
2025-06-17 20:10:11 +02:00
Jepp9350 b068d499ca Reinstate modules_xlvask_sync_usage permission check in XLVask debug task route. 2025-06-17 20:09:24 +02:00
Jepp9350 cc0d1861cc Add updateCustomer method to XLVask endpoints, enhance cache handling for customer retrieval and management, and refine customer property definitions in helper class. 2025-06-17 20:05:03 +02:00
Jepp9350 c94537ecab Add createCustomer method to XLVask endpoints, update interface, and refine imports. 2025-06-17 19:14:12 +02:00
Jepp9350 43f0cd3a25 Ensure vehicleId is set before deleting vehicle and update route logic for vehicle fetching and debugging. 2025-06-17 19:08:52 +02:00
Jepp9350 3b4232a308 Add deleteVehicle method to XLVask endpoints and update route logic to use it 2025-06-17 18:49:32 +02:00
Jepp9350 67b178b002 Add vehicle management utilities for XLVask, implement updateVehicle method, refine endpoint logic, and introduce helper class for vehicle operations. 2025-06-17 18:42:20 +02:00
Jepp9350 19438f5d52 Add methods to retrieve XLVask vehicle types by ID, name, and product ID in vehicle management helpers. 2025-06-17 17:55:54 +02:00
Jepp9350 9a92f14637 Add support for XLVask vehicle management helpers, implement GUID generation, vehicle type handling, and createVehicle method in endpoints. Extend route logic and refine class imports. 2025-06-17 17:16:13 +02:00
Jeppe B 49620fefaf Merge pull request #57 from copenhagentruckwash/limble-module
limble-module
2025-06-17 13:40:22 +02:00
Jepp9350 6e6ab047ec Add XLVask customer creation logic, extend user and helper classes, and integrate Slack notifications for failed API requests. 2025-06-17 12:24:14 +02:00