Jeppe B
492c81e27c
Merge pull request #174 from copenhagentruckwash/fix-vulnerability-in-studio-action-conditions
...
Fix fail-open condition gating in self-serve Studio action runner
2026-06-01 20:56:21 +02:00
Jeppe B
45bfb1525a
Fix studio action conditions to fail closed without results
2026-06-01 20:56:04 +02:00
Jeppe B
a466c6291c
Prevent XL Vask list automation execution
2026-06-01 20:54:44 +02:00
Jeppe B
9606d3b11d
Merge pull request #171 from copenhagentruckwash/fix-sensitive-data-exposure-vulnerability
...
Remove committed replication bootstrap snapshot with secrets
2026-06-01 20:54:25 +02:00
Jeppe B
03b7fcd1b1
Remove committed replication bootstrap snapshot
2026-06-01 20:54:10 +02:00
Jeppe B
3d0f0f3391
Merge pull request #170 from copenhagentruckwash/fix-hard-coded-bearer-token-in-tests
...
Remove committed bearer token from invoicing HTTP example
2026-06-01 20:53:55 +02:00
Jeppe B
e3257465a0
Remove hard-coded bearer token from invoicing HTTP example
2026-06-01 20:53:42 +02:00
Jeppe B
0c21f6e3a1
Merge pull request #169 from copenhagentruckwash/fix-gateway-auto-provision-deployment-vulnerability
...
Pin gateway auto-provision deployments to source commit
2026-06-01 20:53:22 +02:00
Jeppe B
f1e5cacd0c
Pin gateway auto-provision deployments to source commit
2026-06-01 20:53:10 +02:00
Jeppe B
a8d5320ae5
Merge pull request #168 from copenhagentruckwash/fix-auto-promotion-vulnerability-in-release-gate
...
Prevent auto-sync promotion when release gate `required_checks` is empty
2026-06-01 20:52:52 +02:00
Jeppe B
95ac0d3a2c
Block release gate auto-sync when required checks are empty
2026-06-01 20:52:39 +02:00
Jeppe B
1ed27dd467
Merge pull request #167 from copenhagentruckwash/fix-superuser-invite-resend-security-flaw
...
Scope superuser subuser invite resends
2026-06-01 20:52:23 +02:00
Jeppe B
c4bb7bbb8b
Scope superuser subuser invite resends
2026-06-01 20:52:08 +02:00
Jeppe B
c09b7ebe76
Merge pull request #166 from copenhagentruckwash/fix-pathoutcomespayload-argument-type-error
...
Accept null confirmation rows in pathOutcomesPayload
2026-06-01 19:56:09 +02:00
Jeppe B
166ed6b92b
Merge pull request #165 from copenhagentruckwash/fix-self-serve-invoice-assignment-issue
...
Fix self-serve invoice customer attribution
2026-06-01 19:54:28 +02:00
Jeppe B
8e528f3eae
Fix null path confirmation rows
2026-06-01 19:53:40 +02:00
Jeppe B
c8a5c3969d
Fix self-serve invoice customer attribution
2026-06-01 19:48:10 +02:00
Jeppe B
bb98df9e73
Merge pull request #164 from copenhagentruckwash/fix-truckwash-edge-gateway-stack.service-errors
...
Fix edge gateway PHP Docker extension setup
2026-06-01 19:30:15 +02:00
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