Commit Graph
38 Commits
Author SHA1 Message Date
Jeppe Bundgaard 5b3e59bbb4 Introduce scope filtering and machine type integration for Self-Serve module:
- Add scope label computation for tasks, questions, and conditions based on department, lane, product, and machine type.
- Introduce filters for machine type, lane, and department in Self-Serve pagination.
- Replace `EditableTableColumn` with scoped rendering for improved flexibility.
- Extend API and schema to support machine type integration in department redistribution.
- Optimize UI for task, question, and condition management with machine type-aware workflows.
2026-03-16 13:43:08 +01:00
Jeppe Bundgaard b7b19d1ad9 Add comprehensive documentation for Self-Serve Module.
- Describe architecture, domain models, eligibility rules, API endpoints, runtime status, and lane control.
- Include end-to-end examples for happy paths and failure scenarios.
- Provide PHP and Bash usage samples for integration.
- Add detailed flow diagrams and entity definitions for clarity.
2026-03-16 13:08:12 +01:00
Jeppe Bundgaard 6c3e04e8b8 Update OpenAPI schema to include users resource in SystemSearchRequest 2026-03-12 23:34:16 +01:00
Jeppe Bundgaard 2a9a2ea93d Update OpenAPI schema to include additional resource types in SystemSearchRequest 2026-03-12 21:20:30 +01:00
Jeppe Bundgaard d197f7f8cf Add system-wide search endpoints and integrate compare visibility filter:
- Add new search endpoints to OpenAPI schema with cache management functionality.
- Extend invoice distribution functionality with `compareVisibility` filter for result categorization.
- Update unit tests and UI components for compare visibility options.
2026-03-12 20:30:09 +01:00
Jeppe Bundgaard e1e3187d69 Add unit and e2e tests for superuser invoice distribution, update i18n translations, and implement distribution API/logic helpers. 2026-03-12 18:03:44 +01:00
Jeppe Bundgaard e48c52a9b7 Add unit tests for superuser invoices route wiring, tabs, and API contracts; enhance calculations and logic in InvoicingBillingPeriodStatistics.vue; update OpenAPI schema with WeatherAPI and fixed pricing distribution functionality. 2026-03-12 14:24:12 +01:00
Jeppe Bundgaard 655bb622f5 Update OpenAPI schema:
- Make workspaceId and channelId parameters optional with fallback logic across multiple endpoints.
- Replace object schemas with $ref references for bird voice calls, numbers, and related responses.
- Introduce WeatherAPI endpoints (current, forecast, search) and department weather timeline functionality.
- Add WeatherAPI configuration endpoints and corresponding schema updates.
2026-03-11 14:32:06 +01:00
Jeppe Bundgaard 9473a514da Refactor DepartmentGate and DepartmentRelay schemas: replace object types with explicit $ref definitions and add detailed configuration schemas 2026-03-03 12:27:25 +01:00
Jeppe Bundgaard 3691abd9a2 Add DepartmentGate and DepartmentRelay endpoints and schemas to OpenAPI spec 2026-03-03 12:03:36 +01:00
Jeppe Bundgaard 6c2b2b7d96 Enhance OpenAPI documentation for configuration endpoints with detailed success messages and add Bird configuration endpoints 2026-02-27 01:58:03 +01:00
Jeppe Bundgaard 78587485df Add API endpoints for test outbound calls and number management 2026-02-27 01:29:18 +01:00
Jeppe Bundgaard e50a288be8 Enhance DepartmentGoal schema by adding date range fields and improving progress descriptions 2026-02-27 00:46:14 +01:00
Jeppe Bundgaard bb57a3f357 Update Goal Progress Logic in DepartmentGoals module
- Refined the `getGoalProgress` function to use new `all?.count` and `all?.target` properties for accurate progress calculation.
- Enhanced department progress display by accessing nested progress details, ensuring correct values are shown per department.
- Updated OpenAPI spec to include detailed progress structures, introducing new schemas like `GoalProgressDetails` and `DepartmentGoalProgress` for comprehensive goal tracking.
2026-02-25 14:53:05 +01:00
Jeppe Bundgaard ee04e213f1 Add Connectivity Issue Page and Improve Table Semantics
- Introduced `ConnectivityIssue.vue` for handling and displaying connectivity problems.
- Added new route for the connectivity issue error page.
- Enhanced accessibility by wrapping table headers in `OrderBookingsTable.vue` with `<thead>` and `<tbody>` tags.
- Included connectivity-related internationalization keys across various locale files.
- Updated components to integrate `ConnectivityIssue` as a fallback display for connection errors.
2026-02-25 12:59:10 +01:00
Jeppe Bundgaard 41c2a2575e Improve authentication and API integration
- Refined hostname handling in `PasskeyAuthService.js` for correct `rpId` assignment based on domain matching.
- Expanded OpenAPI spec with multiple production server URLs and added `g_recaptcha_response` in various API endpoints for enhanced security.
- Updated `LoginForm.vue` to ensure `customer_number` is accurately parsed as an integer for API compliance.
2026-02-24 01:26:49 +01:00
Jeppe Bundgaard 4e7def8559 Add passkey authentication endpoints and fix passkey data handling in UI
- Introduced `/auth/passkey/challenge` and `/auth/passkey/verify` endpoints for passkey authentication.
- Adjusted `PasskeyManagement.vue` to correctly parse nested passkey data.
2026-02-23 23:02:40 +01:00
Jeppe Bundgaard be60ce8fdf Integrate passkey authentication and management
- Added passkey support for secure, passwordless authentication using WebAuthn.
- Implemented passkey management in user profiles, enabling users to add, rename, and delete passkeys.
- Updated authentication forms to support passkey login, including feature detection and login flow.
- Enhanced internationalization files with passkey-related translations for multiple locales.
- Introduced new components and services for handling passkey operations and WebAuthn interactions.
2026-02-23 21:59:01 +01:00
Jeppe Bundgaard 2ede884959 Add force enable/disable machine functionality for department lanes
- Introduced endpoints to handle force enable/disable machine actions (`/modules/self-serve/lane/force/machine/enable`, `/disable`).
- Updated OpenAPI spec to document the new endpoints.
- Extended `DepartmentLane.vue` and `departmentLanesTable.vue` with buttons for force enable/disable, including loading states and toast notifications.
- Added corresponding i18n translations for force control actions.
- Created E2E tests to verify translation keys, non-empty values, and source file functionality in `department-lane-force-machine.spec.js`.
2026-02-19 11:39:36 +01:00
Jeppe Bundgaard fe5140f74a Add dynamic image and button handling for department lanes and self-serve tasks
- Updated i18n files to include "Dynamic Image ID" translations.
- Extended `SelfServeTasks` and `DepartmentLanes` with columns for dynamic image and button configurations.
- Integrated new OpenAPI endpoint to generate dynamic images for department lanes.
- Enhanced tables, forms, and dashboards to display and manage new attributes.
2026-02-18 16:53:13 +01:00
Jeppe Bundgaard d2f2354efd Extend OpenAPI spec and refine self-serve wash logic
- Updated OpenAPI schemas to include dynamic button IDs and vehicle type overrides for tasks.
- Refined `isMachineAvailable` type definition in `MyWashStart.vue` to improve type safety.
- Simplified lane selection watcher logic in `MyWashStart.vue` by removing redundant step condition.
2026-02-18 16:36:46 +01:00
Jeppe Bundgaard a29b978bc5 Add guidelines for creating and maintaining tests in .aiassistant/rules/Creating and maintaining tests.md
- Introduced detailed instructions for test development using WebdriverIO, covering structure, naming conventions, and best practices.
- Added examples for browser interactions, assertions, and handling internationalization (i18n) in tests.
- Documented prerequisites for mobile testing and best practices for maintaining test cases.

Enhance SelfServeTasks capabilities by introducing `services` management

- Added `services` property to `SelfServeTasks` for task-specific service handling.
- Implemented logic to determine and update allowed services dynamically based on active tasks.
- Extended machine availability check (`isMachineAvailable`) to consider services allowed per task.

Expand backend support for lane services

- Added new endpoints to manage lane services (`/modules/self-serve/lane/services/allowed` and `/modules/self-serve/lane/relay/machine/enable`).
- Extended OpenAPI specifications to include service configuration for tasks and validation of lane services.

Modify SelfServe UI components for displaying allowed services

- Updated multiple screens to show allowed services based on active tasks.
- Added tags for visualizing allowed task services in `SelfServeTryModal` and `SelfServeTasksTable`.

Add `i18n-settings-wheel.spec.js` for translation key verification

- Added new test suite to ensure i18n translation parity between English and Danish locale files for `settings_wheel`.
- Implemented checks to validate key presence and exact match across both languages.
2026-02-18 14:12:12 +01:00
Jeppe Bundgaard 1f27f3b069 Add subuser session management and authentication support
- Introduced subuser-specific session data handling, including `getSubuserSessionData`.
- Added `authenticateSubuser` to enable password-based authentication for subusers.
- Updated `SessionUser` to support subuser sessions with fields like `isSubuser` and `subuser` details.
- Adjusted logic for clearing and initializing sessions to differentiate subuser and classic user contexts.
- Enhanced OpenAPI spec to include subuser-specific endpoints and permissions, updating customer-targeting behavior.
2026-02-12 17:00:51 +01:00
Jeppe Bundgaard 1666c3de45 Expand openapi.yaml with listSubusers and getSubuser endpoints for subuser management, including query parameters, response structure, and error handling definitions. 2026-02-11 18:00:51 +01:00
Jeppe Bundgaard b7bc4ec907 Add subuser and grant management navigation, expand openapi.yaml with subuser-related definitions, and update permissions in SubuserGrants.vue. 2026-02-11 17:53:54 +01:00
Jeppe Bundgaard 40a6a4f664 Add subuser, grant, and passkey management endpoints to openapi.yaml.
Expanded the API specification with endpoints for subuser management, including setup, authentication, and permission grants, as well as account security passkey handling.
2026-02-11 17:28:10 +01:00
Jeppe Bundgaard ec1114b1cd Add comparison endpoint and mass comparison feature for collected invoices with E-conomic in openapi.yaml and CollectedOrderInvoicesListPagination.vue. 2026-02-03 12:34:19 +01:00
Jeppe Bundgaard be37edaa15 Add endpoint to send test progress alerts for department goals in OpenAPI documentation 2026-01-27 09:12:58 +01:00
Jeppe Bundgaard 1d61efbe73 Extend OpenAPI documentation with new progress_alert_* fields for enhanced alert configuration options. 2026-01-27 08:53:32 +01:00
Jeppe Bundgaard d812e57be7 Add "label" field to goal criteria in GoalFormModal, update fallback naming in DepartmentGoals.vue, and extend OpenAPI documentation 2026-01-26 19:47:50 +01:00
Jeppe Bundgaard bf16481b29 Add Goals module with CRUD functionality and OpenAPI documentation 2026-01-26 17:55:52 +01:00
Jeppe Bundgaard a2aede936e Add self-serve status toggle to DepartmentModulesDisplay and API endpoints for enable/disable actions 2026-01-21 10:32:55 +01:00
Jeppe Bundgaard 2435a85ff9 Add attachment handling and password reset endpoints to Self-Serve module
- Introduced attachment fetching and downloading logic in `MyWashStart.vue` and `SelfServeTryModal.vue`.
- Enhanced task-related UI to display and handle attachments.
- Added password reset API endpoints (`request`, `validate`, `set`) in `openapi.yaml`.
2026-01-19 11:19:52 +01:00
Jeppe Bundgaard f2e82f8812 Extend Self-Serve API with new commands, schemas, and configuration support
- Added `SelfServeLaneStatus` and `SelfServeConfig` schemas to improve data handling and API responses.
- Enhanced `/modules/self-serve/lane/command` to support `RESERVE`, `RELEASE`, and `license_plate`.
- Updated `/modules/self-serve/config` endpoints to include request/response schemas for configuration management.
2026-01-19 10:54:41 +01:00
Jeppe Bundgaard b637b9dc5f Add SelfServeVehicleConditions feature to Self-Serve module
- Introduced `SelfServeVehicleConditions` object and related CRUD operations for managing vehicle-specific conditions.
- Added pagination, table, and detail views for managing vehicle conditions within the Department dashboard.
- Updated routing and navigation to include `selfservevehicleconditions` path and entry points.
- Extended `openapi.yaml` to document new endpoints for vehicle condition management.
2026-01-13 12:35:51 +01:00
Jeppe Bundgaard b20953e51b Add IS_TRUE_OR_ANY_TRUE and IS_FALSE_OR_ANY_FALSE rule types to condition evaluation
- Extended `SelfServeConditionRules` and its UI to support new rule types.
- Updated `openapi.yaml` to document the newly added options.
- Refactored `evaluateCondition` logic to handle nested evaluation with added rule types.
2026-01-09 15:03:52 +01:00
Jeppe Bundgaard 1c13e2c80d Add condition_id support to SelfServeConditions, SelfServeConditionRules, and related components
- Renamed `question_condition` to `condition_id` for consistency across `SelfServeConditions`, `SelfServeTasks`, and `SelfServeQuestions`.
- Introduced CRUD operations for `SelfServeConditionRules` with logic for managing condition rules.
- Enhanced existing components to support `condition_id`, including dynamic filtering and table parsing.
- Updated UI elements to reflect changes, including new rule creation options and improved field handling for `condition_id`.
2026-01-09 14:08:53 +01:00
Jeppe Bundgaard 2d7d3265c3 Add question_condition support to SelfServeQuestions with dynamic filtering and table integration
- Introduced `question_condition` field for conditional question handling.
- Enhanced question filtering logic using `department_id` and `product_id`.
- Added default "Ingen" option for `question_condition`.
- Updated `SelfServeQuestionsTable` to include editable `question_condition` column.
- Removed deprecated `image` and `vehicle_type` column handlers.
- Added `question_condition` handling in the backend update logic.
2026-01-09 11:38:21 +01:00