Commit Graph
70 Commits
Author SHA1 Message Date
Jeppe B 2a6a86c9c3 Resolve backend Qodana critical and high findings (#314)
Resolve recommended-profile Critical and High findings, retain narrow analyzer exceptions, and update the edge-broker WebSocket dependency to a non-vulnerable release.
2026-07-17 05:44:16 +02:00
Jeppe Bundgaard 6a00f023b1 Refactor cron scheduling 2026-07-09 11:04:13 +02:00
Jeppe Bundgaard 0cca597fdc Fix XLVask usage import dates
Fix XLVask usage-log import metadata and period-scoped Selvvask automation.
2026-07-06 23:49:28 +02:00
Jeppe Bundgaard 70080086da Add unit tests for Redis namespace safety, MotorAPI cache functionality, and configuration classes, alongside implementation of xlvask_automation_service
- Added tests to ensure Redis namespace safety for `db_object_t` and `users_o`.
- Implemented `MotorApiCachedResultTest` to validate metadata caching behavior.
- Introduced configuration classes for `xlvask_automatic_order_attachment_enabled` and `xlvask_automatic_order_creation_enabled`.
- Developed `xlvask_automation_service` with supporting features for usage log evaluation, suggestion building, and order automation.
2026-05-12 00:22:27 +02:00
Jeppe Bundgaard c1b66a81cc Add invoice_period_flag_ classes to manage invoice period flags with schema, services, and flag lifecycle methods
- Introduced `invoice_period_flag_schema_bootstrap` to initialize the schema for invoice period flags.
- Added `invoice_period_flag_service` to handle manual and automatic flag creation, updates, filtering, and context resolution.
- Implemented lifecycle methods such as `createManualFlag`, `updateAutomaticFlagStatus`, and `applyFlagsToPeriodTypes` for handling invoice period flags and their usage in processing periods.
- Included context-specific resolution methods for efficient flag management in invoicing workflows.
2026-05-11 21:34:57 +02:00
Jeppe Bundgaard e69d328105 Add xlvask_parser_afstr_mning helper for handling drainage-related product parsing
- Introduced the `xlvask_parser_afstr_mning.php` class extending `xlvask_product_parser`.
- Updated `xlvask_helpers.php` to include the new parser.
2025-09-30 15:54:43 +02:00
Jeppe Bundgaard 2dbf318df0 Improve vehicle type determination in xlvask_parser_stor_bil
- Integrated `customer_vehicles_o` to validate vehicle type using customer-based data.
- Added fallback logic in `selectByPlate` to handle exceptions gracefully.
- Enhanced `checkMotorAPI` error handling by returning `false` instead of throwing exceptions.
2025-09-08 13:06:52 +02:00
Jeppe Bundgaard d14316e249 Improve vehicle type determination in xlvask_parser_stor_bil
- Integrated `customer_vehicles_o` to validate vehicle type using customer-based data.
- Added fallback logic in `selectByPlate` to handle exceptions gracefully.
- Enhanced `checkMotorAPI` error handling by returning `false` instead of throwing exceptions.
2025-09-04 14:50:39 +02:00
Jeppe Bundgaard 7a852f5b54 Add nullable return types and improve exception handling in MotorAPI
- Updated `getCachedResult` methods across `motorapi`, `motorapi_i`, and `motorapi_lookups_o` to return `?object` for nullable results.
- Enhanced error handling in `xlvask_parser_stor_bil` by wrapping `getLicensePlateInformation` in a try-catch block to handle API exceptions gracefully.
- Introduced `cleanJSON` method in `motorapi` to sanitize and validate JSON data, ensuring robust parsing of cached responses.
- Optimized `getCachedResult` logic to handle null and invalid JSON scenarios with detailed error reporting.
2025-08-31 13:33:10 +02:00
Jeppe Bundgaard c397c20ea7 Refactor discount calculation and integrate MotorAPI checks in XL Vask module
- Updated `orders_o` to use `round` for consistent discounted price calculations.
- Refined `xlvask_parser_stor_bil` with MotorAPI-based vehicle type validation and added `checkMotorAPI` method.
- Optimized `motorapi_lookups_o` license plate validation to streamline database queries.
2025-07-29 15:13:09 +02:00
Jeppe Bundgaard 16198f49e6 Refactor XL Vask module for better null handling and primary item validation
- Improved null safety by updating product ID retrieval logic in parsers and usage logs.
- Enhanced primary wash item selection with stricter checks for valid product types.
- Adjusted import date modifier in `importUsageLogs` for extended range (`-7 day`).
- Streamlined product and user association in order creation with additional validations.
- Removed redundant checks and refined permission handling in import tasks.
2025-07-21 16:47:05 +02:00
Jeppe Bundgaard af3b0666fb Add import tasks and new parsers to XL Vask module
- Introduced `runImportTasks` method for vehicle, user, and usage log imports.
- Added new product parsers: `ht_b_rstel_s`, `ht_turbo`, and `ikke_b_rster_p_kabinen`.
- Implemented simulation and duplicate detection for usage logs via order objects.
- Updated usage log handling to include default customer checks and user association.
- Enhanced request handling with fast-link functionality for usage orders.
2025-07-21 10:32:56 +02:00
Jeppe Bundgaard 648a58b724 Add import usage logs functionality to XL Vask module 2025-07-16 10:38:06 +02:00
Jeppe Bundgaard f74a904738 Add import vehicles functionality to XL Vask module 2025-07-15 15:01:03 +02:00
Jeppe Bundgaard 026942f772 Add import customers functionality to XL Vask module 2025-07-15 14:25:40 +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 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 0e90c80ee1 Uncomment vehicle cache retrieval in xlvask_vehicles helper. 2025-06-26 07:59:46 +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
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
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
Jepp9350 7b837a8a58 Add xlvask_parser_chassisskylning helper class and update imports in XLVask helpers. 2025-06-18 09:48:15 +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
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
Jepp9350 5693d30c47 Add runCleanupTasks method to XLVask tasks, including module enablement check and task execution logic 2025-06-16 11:51:39 +02:00
Jepp9350 8edc0f9312 Add logic to handle duplicate potential order matches, include shouldIgnoreDuplicate method, and introduce route to ignore duplicates with permission checks. 2025-06-16 11:31:13 +02:00
Jepp9350 3987cf5de9 Refactor xlvask_potential_order_matches_o object, update related method signatures, and introduce route for retrieving potential order matches with permission checks and pagination. 2025-06-16 10:47:53 +02:00
Jepp9350 d72c534b2f Add xlvask_potential_order_matches_o object and logic to manage potential order matches in XLVask tasks. 2025-06-16 09:37:05 +02:00
Jepp9350 447c52f917 Expand Limble module with new webhook payload helpers, JSON validation, Slack notifications, and task-specific webhook handling logic. 2025-06-12 19:57:04 +02:00
Jepp9350 7109f68cdd Comment out $dateFrom echo statement in XLVask tasks helper to clean up output 2025-06-12 12:15:13 +02:00
Jepp9350 27e8c558a4 Add getPlateReferenceIfExists in customer_vehicles_o, refine order creation logic to include plate references, enable usage synchronization in XLVask tasks, and introduce xlvask_parser_special_s_be_front. 2025-06-12 12:14:20 +02:00
Jepp9350 5d38eae9f6 Add lane property to orders_o, include lane handling in XLVask usage logs, and introduce xlvask_parser_kapellvask_alle_trailere parser. 2025-06-11 12:57:20 +02:00