Jeppe Bundgaard
|
416eba7de5
|
Add unit tests and route updates for department self-serve enabled flag relay synchronization. Refactor relay handling with hard set methods and lane status guard bypass.
|
2026-03-25 14:24:30 +01:00 |
|
Jeppe Bundgaard
|
2a9ed5af0f
|
Add unit tests for STOP command flow, including relay shutoff sequencing, vehicle-type product addition, and invoice handling. Refactor STOP logic to enable relay configuration checks, error handling, and session finalization without blocking.
|
2026-03-25 14:12:31 +01:00 |
|
Jeppe Bundgaard
|
4c81cfd0fe
|
Add unit tests for lane relay Shelly batching, rate limit handling, and retry logic. Refactor Shelly relay state handling with snapshot caching, readiness checks, and reduced delay intervals.
|
2026-03-25 13:40:12 +01:00 |
|
Jeppe Bundgaard
|
5a29683fe8
|
Add MACHINE_PROGRAM_PICKER and MACHINE_CLEANER relay endpoints with GET/POST actions, unit tests, retry logic, and OpenAPI spec updates.
|
2026-03-25 12:21:47 +01:00 |
|
Jeppe Bundgaard
|
7fc70184df
|
Add unit tests and routes for department weather targets, including GET/PUT endpoints, thresholds validation, and aggregate status handling. Extend OpenAPI spec with schema mappings for department weather targets and machine relay endpoints.
|
2026-03-25 11:14:25 +01:00 |
|
Jeppe Bundgaard
|
6fdc8d466e
|
Add unit tests for various modules: attachments grouping, department weather caching behaviors, economic module order sanitization, enriched order batching, and user cashier name lookups. Update related route logic for enhanced data fetching and caching integrations.
|
2026-03-24 14:59:16 +01:00 |
|
Jeppe Bundgaard
|
4a5dd3a83f
|
Add unit tests for department weather API: cache helpers, fallback behavior, timeline range handling, and schema conformance. Enhance route logic with custom date ranges, cache support, and fallback handling. Update OpenAPI spec and schema mappings.
|
2026-03-24 13:59:57 +01:00 |
|
Jeppe Bundgaard
|
228efb74fb
|
Enhance department weather timeline API: support multiple IDs, add timeline date override, improve ID parsing, update schema examples, and expand related tests.
|
2026-03-24 13:06:40 +01:00 |
|
Jeppe Bundgaard
|
c714af6c9e
|
Add unit tests for Workfeed weather timeline range, schema conformance, and employee hours calculations. Enhance Workfeed API with improved department ID resolution, timeline range configuration, and workfeed shift handling. Update route logic to remove opening hours dependency and integrate Workfeed data.
|
2026-03-24 12:50:01 +01:00 |
|
Jeppe Bundgaard
|
28b571e2e6
|
Add unit tests for advanced target duration parsing, goal range calculations, and Workfeed query normalization. Extend OpenAPI spec with updated schemas and examples.
|
2026-03-24 11:35:13 +01:00 |
|
Jeppe Bundgaard
|
8c9388546b
|
Add advanced target duration configurations and parsing logic to Goals module. Update Workfeed with new CompanyID config. Extend OpenAPI spec with detailed schema mappings and examples.
|
2026-03-24 11:23:08 +01:00 |
|
Jeppe Bundgaard
|
40171d9719
|
Update Workfeed OpenAPI spec with detailed schema definitions for employees, shifts, and departments. Add pagination support and replace generic response references with specific ones.
|
2026-03-24 10:37:43 +01:00 |
|
Jeppe Bundgaard
|
48a74ad34d
|
Add Workfeed module with routes, configurations, and API integration handling for employees, shifts, and departments. Update OpenAPI spec and include unit tests for endpoint wiring and filtering logic.
|
2026-03-24 10:33:17 +01:00 |
|
Jeppe Bundgaard
|
ac164a5e81
|
Add debug Redis configuration support, enhance Redis connection handling, and refactor worker status endpoint
|
2026-03-24 10:09:37 +01:00 |
|
Jeppe Bundgaard
|
de89c4d635
|
Add database and Redis port configuration support, connection health checks, and refactor worker status endpoint.
|
2026-03-20 13:01:21 +01:00 |
|
Jeppe Bundgaard
|
219f739b54
|
Invalidate user permission and session caches when group permissions change; add tests.
|
2026-03-19 17:13:45 +01:00 |
|
Jeppe Bundgaard
|
b547a8b029
|
Refactor permission handling to leverage standardized "forbidden" responses and enhance unit test coverage.
|
2026-03-19 15:59:25 +01:00 |
|
Jeppe Bundgaard
|
3752fdec4c
|
Add support for "forbidden" response with missing permissions in Nginx response handler
|
2026-03-19 14:39:23 +01:00 |
|
Jeppe Bundgaard
|
60f6cbee84
|
Enhance CORS handling with dynamic origin validation and credentials support in Nginx. Update Traefik to include additional allowed origins.
|
2026-03-18 14:15:28 +01:00 |
|
Jeppe Bundgaard
|
6b928cfce7
|
Add PreRenderDynamicImagesCron for dynamic image variant caching and idempotency guard for order bookings.
|
2026-03-18 13:59:48 +01:00 |
|
Jeppe Bundgaard
|
90acf50b55
|
Add idempotency handling for order booking creation using Redis to prevent duplicate requests.
|
2026-03-18 13:42:47 +01:00 |
|
Jeppe Bundgaard
|
da2cbee987
|
Disable sending welcome emails to info@truckwash.dk as requested by Christian.
|
2026-03-18 13:29:37 +01:00 |
|
Jeppe Bundgaard
|
7c55beae42
|
Refactor self-serve wash flow to decouple visible question logic, improve condition evaluation, and handle nullable fields in the OpenAPI spec.
|
2026-03-18 13:05:41 +01:00 |
|
Jeppe Bundgaard
|
f04f79e3da
|
Update Traefik configuration with enhanced routing rules, local IP allowlist for dashboard access, new strip prefix middleware, and extended CORS origins. Add ACME account configurations for certificate management.
|
2026-03-18 10:58:17 +01:00 |
|
Jeppe Bundgaard
|
db42f9ef95
|
Add staging environment configuration for Caddy, Nginx, and Traefik with updated routing and logging settings
|
2026-03-18 10:32:41 +01:00 |
|
Jeppe Bundgaard
|
b3772293f3
|
Add auto-generated documentation for new API endpoints: branding option, button press webhook, and customer attribute.
|
2026-03-17 16:51:10 +01:00 |
|
Jeppe Bundgaard
|
6cc5dc2210
|
Add initial Copenhagen Truck Wash API documentation, including API overview, authentication, error handling, introduction, and Writerside configuration.
|
2026-03-17 15:55:11 +01:00 |
|
Jeppe Bundgaard
|
979b0f8fac
|
Add atomic reservation support in Redis for goal alert deduplication with expiration. Update Cron logic and add unit tests for validation.
|
2026-03-17 15:23:02 +01:00 |
|
Jeppe Bundgaard
|
bd4a90cdaa
|
Add bulk booked invoice line handling and optimized distribution logic for department 75. Update unit tests, Economic endpoint URL encoding, and service integration.
|
2026-03-17 14:53:20 +01:00 |
|
Jeppe Bundgaard
|
6aa04eb951
|
Add logic for booked department 75 redistribution with fixed pricing and subscription weights. Update OpenAPI spec, unit tests, and service integration.
|
2026-03-16 13:40:03 +01:00 |
|
Jeppe Bundgaard
|
425c2c9142
|
Update README to include self-serve module implementation and API guide location
|
2026-03-16 13:08:21 +01:00 |
|
Jeppe Bundgaard
|
2ecae070a2
|
Add documentation for the self-serve module, detailing architecture, flow, API routes, domain model, runtime tables, and eligibility rules. Includes end-to-end examples and PHP usage.
|
2026-03-16 13:06:17 +01:00 |
|
Jeppe Bundgaard
|
39ab007281
|
Update Copilot workflow to create GitHub issues for assigned tasks with proper permissions and repository checkout
|
2026-03-16 11:41:00 +01:00 |
|
Jeppe Bundgaard
|
d890d589ff
|
Add reusable routes for department self-serve machine types, n8n workflows, and executions, with corresponding unit tests and service integration.
|
2026-03-16 11:36:48 +01:00 |
|
Jeppe Bundgaard
|
ca573783d2
|
Add support for department_goals entity in system search with title resolution logic and unit tests
|
2026-03-15 18:58:52 +01:00 |
|
Jeppe Bundgaard
|
78a8dd35b9
|
Add system_search_document_index class to manage document indexing for system search with table creation, entity-specific document builders, and index refresh logic.
|
2026-03-13 13:58:48 +01:00 |
|
Jeppe Bundgaard
|
1e1576fe87
|
Add system_search_economic_customer_index class with table creation, refresh logic, and integration into system search fields, synonyms, and entity matching. Update service logic, unit tests, and cron tasks accordingly.
|
2026-03-13 01:52:33 +01:00 |
|
Jeppe Bundgaard
|
5be31bee1c
|
Extend system search to include local e-conomic customer index fields, synonym expansion (e.g., rabat -> discount), and enhanced entity matching. Update OpenAPI spec, unit tests, and cron sync tasks accordingly.
|
2026-03-13 00:59:40 +01:00 |
|
Jeppe Bundgaard
|
efc5906974
|
Expand system search to include users entity type with comprehensive OpenAPI spec updates, route adjustments, and unit test coverage.
|
2026-03-12 23:09:50 +01:00 |
|
Jeppe Bundgaard
|
a22a3f4ee9
|
Add comprehensive unit tests for invoicing period cache logic, system search behavior, and OpenAPI spec coverage. Expand search service with generic entity support and refine association type handling.
|
2026-03-12 21:21:14 +01:00 |
|
Jeppe Bundgaard
|
1190290899
|
Strengthen SQL injection safeguards across objects and traits, add input validation and sanitization, and refine query efficiency with deduplication and null checks.
|
2026-03-12 20:36:08 +01:00 |
|
Jeppe Bundgaard
|
a5963da4e6
|
Cap expanded query terms, aliases, and hints to prevent amplification, add permission-context scoping for query cache, and encapsulate term capping logic in helper methods with relevant tests.
|
2026-03-12 20:20:43 +01:00 |
|
Jeppe Bundgaard
|
6e887b315f
|
Introduce a centralized search service with OpenAI-powered intent parsing and caching
|
2026-03-12 20:14:06 +01:00 |
|
Jeppe Bundgaard
|
f651309d6a
|
Add caching for Economic V2 distribution responses and optimize service methods with localized in-memory caches
|
2026-03-12 19:32:57 +01:00 |
|
Jeppe Bundgaard
|
69c7c834d9
|
Update OpenAPI spec to add InvoicingWashSubscriptionsDistributionResponse schema and reference it in the related endpoint
|
2026-03-12 18:51:10 +01:00 |
|
Jeppe Bundgaard
|
4ef20a1c90
|
Add economic V2 modules for history backfill, comparison, and distribution services.
|
2026-03-12 17:57:27 +01:00 |
|
Jeppe Bundgaard
|
72454ff328
|
Update OpenAPI spec to include application/json response schemas and add optional request bodies where applicable
|
2026-03-12 16:51:18 +01:00 |
|
Jeppe Bundgaard
|
4523115584
|
Introduce centralized date normalization and duplicate filtering for invoicing logic, and add comprehensive unit tests
|
2026-03-12 16:09:54 +01:00 |
|
Jeppe Bundgaard
|
2ca29a77f1
|
Optimize order and transaction processing logic with caching, and implement opt-in Slack summaries to reduce request latency.
|
2026-03-12 16:00:57 +01:00 |
|
Jeppe Bundgaard
|
07dab83e36
|
Add caching for department metadata and invoicing exclusion checks, optimize department resolution logic in invoicing route
|
2026-03-12 14:40:47 +01:00 |
|
Jeppe Bundgaard
|
0deeb7f121
|
Add scripts to clone live DB into debug DB for local development
|
2026-03-12 14:10:06 +01:00 |
|
Jeppe Bundgaard
|
c78ea57409
|
Add mysql-debug to local development stack and update related configurations
|
2026-03-12 13:48:07 +01:00 |
|
Jeppe Bundgaard
|
5cb197898d
|
Improve live DB clone speed
|
2026-03-12 13:26:22 +01:00 |
|
Jeppe Bundgaard
|
e91dda0799
|
Add run scripts and actions setup
|
2026-03-12 12:27:46 +01:00 |
|
Jeppe Bundgaard
|
e7ff44bf50
|
Return vehicle subscriptions array
|
2026-03-12 12:19:59 +01:00 |
|
Jeppe Bundgaard
|
ddc45bf206
|
Update getCustomersWithVehicleSubscriptions to exclude fixed pricing customers and remove unused return statement in invoicing route
|
2026-03-12 12:17:52 +01:00 |
|
Jeppe Bundgaard
|
be358309d6
|
Add schema definitions for InvoicingFixedPricingDistributionResponse and related components in OpenAPI spec
|
2026-03-12 11:26:25 +01:00 |
|
Jeppe Bundgaard
|
bd36540f2b
|
Add schema definitions and responses for Weather API endpoints in OpenAPI spec
|
2026-03-12 09:19:17 +01:00 |
|
Jeppe Bundgaard
|
36c9472a40
|
Integrate historical data into weather forecast, sort timeline entries, and update local development server URL in OpenAPI configuration.
|
2026-03-11 14:31:39 +01:00 |
|
Jeppe Bundgaard
|
6713a67eb5
|
Update generateDirectDownloadUrl to use static https://api.truckwash.io host and simplify URL generation logic
|
2026-03-11 11:25:53 +01:00 |
|
Jeppe Bundgaard
|
44a0146c9f
|
Enable permission checks, adjust weekly iteration logic, and update cache key for department weekly results functionality
|
2026-03-11 11:21:14 +01:00 |
|
Jeppe Bundgaard
|
ed19a7482d
|
Add offset support to getFieldsWhereContaining for enhanced query control
|
2026-03-11 11:07:48 +01:00 |
|
Jeppe Bundgaard
|
15a7a7b8a5
|
Add weekly department results route, enhance date handling in invoicing and statistics logic, and improve Slack notification configuration
|
2026-03-11 10:52:49 +01:00 |
|
Jeppe Bundgaard
|
4945abfd8e
|
Add new route for superuser invoicing period distribution and enhance date handling logic
|
2026-03-10 11:01:11 +01:00 |
|
Jeppe Bundgaard
|
d82c7d88ec
|
Implement Bird gate IVR flow
|
2026-03-09 11:03:45 +01:00 |
|
Jeppe Bundgaard
|
682bf8151c
|
Introduce Bird module with API integration for voice calls and number management, along with configurable channelId and workplaceId.
|
2026-03-09 10:18:16 +01:00 |
|
Jeppe Bundgaard
|
16bcc3a00c
|
Add custom monthly target calculation in goals_progress_alert_renderer for specific periods.
|
2026-03-09 09:58:48 +01:00 |
|
Jeppe Bundgaard
|
6bb026ad61
|
Merge remote-tracking branch 'origin/codex/setup-ingoing-call-automation-for-bird' into codex/setup-ingoing-call-automation-for-bird
# Conflicts:
# services/nginx/app/routes/birdVoiceWebhooksRoute.php
|
2026-03-09 09:46:39 +01:00 |
|
Jeppe Bundgaard
|
5d1980768a
|
Refactor birdVoiceWebhooksRoute to simplify gate handling by removing single-gate auto-selection logic, enhance multi-gate prompt text, and improve configuration parsing in callGateToOpen.
|
2026-03-04 16:11:54 +01:00 |
|
Jeppe Bundgaard
|
d24a2c7cec
|
Refactor birdVoiceWebhooksRoute to simplify gate handling by removing single-gate auto-selection logic, enhance multi-gate prompt text, and improve configuration parsing in callGateToOpen.
|
2026-03-04 14:39:30 +01:00 |
|
Jeppe Bundgaard
|
72a4c91e5f
|
Refactor Bird API client to extract reusable executeCallAndHangupWhenAccepted method, update callGateAndHangupWhenAccepted and test outbound call logic to use shared implementation, and enhance timeout handling.
|
2026-03-04 14:24:11 +01:00 |
|
Jeppe Bundgaard
|
da8a01479b
|
Add callGateAndHangupWhenAccepted method to Bird API client, refactor gate opening logic in birdVoiceWebhooksRoute, and implement separate entrance/exit gate handling in department_gates_o.
|
2026-03-04 14:16:53 +01:00 |
|
Jeppe Bundgaard
|
342209fd2f
|
Add input gathering feature to Bird API client and routes, integrate multi-gate selection flow in birdVoiceWebhooksRoute, and enhance error handling for invalid or expired sessions.
|
2026-03-04 13:43:19 +01:00 |
|
Jeppe Bundgaard
|
84ba2a1fad
|
Localize user-facing messages in birdVoiceWebhooksRoute to Danish.
|
2026-03-04 13:25:28 +01:00 |
|
Jeppe Bundgaard
|
4f5ce36667
|
Simplify getCallerDepartments in birdVoiceWebhooksRoute by removing redundant user and subuser handling, reducing logic to fetch visible department IDs.
|
2026-03-04 13:20:23 +01:00 |
|
Jeppe Bundgaard
|
db41842162
|
Enhance birdVoiceWebhooksRoute to handle automated gate opening via inbound calls, introduce gate/relay identification methods, refactor phone normalization logic, and improve error handling for unmatched destinations and departments.
|
2026-03-04 13:13:37 +01:00 |
|
Jeppe Bundgaard
|
96629cba0d
|
Add sayMessage method to Bird API client, extend birdVoiceWebhooksRoute with TTS capability for inbound calls, introduce /bird/voice/calls/{id}/say route, and update OpenAPI spec accordingly.
|
2026-03-04 12:47:44 +01:00 |
|
Jeppe Bundgaard
|
a69df10b77
|
Add birdVoiceWebhooksRoute to handle incoming voice call webhooks, support fallback workspace and channel configuration, and send Slack notifications for inbound calls
|
2026-03-04 10:57:17 +01:00 |
|
Jeppe Bundgaard
|
3d2e8396cc
|
Replace inline schemas with reusable BirdVoiceCallListResponse, BirdVoiceCallSingleResponse, and BirdTestOutboundCallResponse components in OpenAPI spec, define new BirdVoiceCall schema, and require permissions for Bird voice call listing
|
2026-03-04 10:50:10 +01:00 |
|
Jeppe Bundgaard
|
cbac9181f6
|
Refactor Bird API routes to support fallback workspace and channel configuration, centralize helper methods, and update OpenAPI spec to reflect optional parameters.
|
2026-03-04 10:42:33 +01:00 |
|
Jeppe Bundgaard
|
98203282ba
|
Replace inline schemas with reusable BirdNumberListResponse and BirdNumberSingleResponse components in OpenAPI spec, and define new BirdNumber and BirdNumberCapability schemas.
|
2026-03-04 10:31:32 +01:00 |
|
Jeppe Bundgaard
|
70b7f5de87
|
Add workspace support to Bird numbers API and update routes, methods, and tests accordingly
|
2026-03-04 10:28:36 +01:00 |
|
Jeppe Bundgaard
|
b46d29c87f
|
Add validation to ensure orders have transactions and wash certificates attached before sending to customers
|
2026-03-03 15:07:26 +01:00 |
|
Jeppe Bundgaard
|
7a43fbf383
|
Add department_relay_config and department_gate_config classes and refactor gate/relay handling logic to use strongly-typed configuration models
|
2026-03-03 12:24:01 +01:00 |
|
Jeppe Bundgaard
|
29b6df381e
|
Add department_relays and department_gates object classes to support relay and gate management for departments
|
2026-03-03 11:47:11 +01:00 |
|
Jeppe Bundgaard
|
a62bcdb47d
|
Add Redis-based caching for department lane dynamic images to improve performance and reduce processing overhead
|
2026-03-02 16:34:46 +01:00 |
|
Jeppe Bundgaard
|
7efc73d19d
|
Add dynamic_image_id to guest lane response and streamline department lane image access logic
|
2026-03-02 16:16:13 +01:00 |
|
Jeppe Bundgaard
|
80701117f4
|
Add include_lanes query parameter to guest departments endpoint and define DepartmentGuest and DepartmentLaneGuest schemas in OpenAPI documentation
|
2026-03-02 13:18:02 +01:00 |
|
Jeppe Bundgaard
|
24842ceaee
|
Add support for fetching self-serve status in departments and include it in guest route responses
|
2026-03-02 13:13:55 +01:00 |
|
Jeppe Bundgaard
|
3d4f9d9973
|
Update Redis key for Monday message tracking to
|
2026-03-02 12:30:11 +01:00 |
|
Jeppe Bundgaard
|
c1145495a0
|
Move Monday department Slack notifications logic to GoalsProgressAlertsCron and remove duplicate implementation from exampleRoute.
|
2026-03-02 12:25:10 +01:00 |
|
Jeppe Bundgaard
|
78a6860eca
|
Remove .env file from version control and update .gitignore to exclude it permanently.
|
2026-02-27 03:22:03 +01:00 |
|
Jeppe Bundgaard
|
cc77066617
|
Reapply "Update Bird module to use AccessKey authorization header instead of Bearer, improve error handling, and add support for workspace/channel configuration."
This reverts commit 1087ffb413.
|
2026-02-27 03:15:38 +01:00 |
|
Jeppe Bundgaard
|
1087ffb413
|
Revert "Update Bird module to use AccessKey authorization header instead of Bearer, improve error handling, and add support for workspace/channel configuration."
This reverts commit 2ad9bcfd37.
|
2026-02-27 03:09:48 +01:00 |
|
Jeppe Bundgaard
|
2ad9bcfd37
|
Update Bird module to use AccessKey authorization header instead of Bearer, improve error handling, and add support for workspace/channel configuration.
|
2026-02-27 03:08:28 +01:00 |
|
Jeppe Bundgaard
|
52b467fe59
|
Update configuration response schemas in OpenAPI documentation to include detailed data structures
|
2026-02-27 01:55:22 +01:00 |
|
Jeppe Bundgaard
|
abd33ed6d9
|
Add Bird configuration endpoints (GET/POST) and update OpenAPI documentation
|
2026-02-27 01:38:45 +01:00 |
|
Jeppe Bundgaard
|
32f017778f
|
Add voice call management endpoints and enhance logging for HTTP requests
|
2026-02-27 01:29:32 +01:00 |
|
Jeppe Bundgaard
|
a0727cd14e
|
Add optional per-department weekly targets and update related calculations
|
2026-02-27 01:11:22 +01:00 |
|
Jeppe Bundgaard
|
f74210bca8
|
Add date range fields to goal criteria and update OpenAPI documentation
|
2026-02-27 00:46:30 +01:00 |
|