Skip to content

Add first-class Trailer operations - #309

Open
roncodes wants to merge 5 commits into
mainfrom
feature/first-class-trailers
Open

Add first-class Trailer operations#309
roncodes wants to merge 5 commits into
mainfrom
feature/first-class-trailers

Conversation

@roncodes

@roncodes roncodes commented Sep 3, 2026

Copy link
Copy Markdown
Member

Summary

  • introduce Trailer as a first-class Fleet-Ops resource backed by the Asset base with a Trailer discriminator and public ID namespace
  • add full Fleet-Ops navigation, list/grid/detail/create/edit flows directly below Vehicles
  • add effective-dated towing connections with conflict-safe attach/detach behavior and Vehicle views
  • generalize Device and Equipment attachment to support Trailer polymorphism and installation history
  • add Trailer telematics ingestion, stale-event protection, positions, connectivity state, and tenant-safe broadcasts
  • integrate Trailer maintenance, work orders, custom fields, import/export, search, reporting, AI query resources, permissions, and translations
  • add public and internal Trailer routes, filtering, resources, validation, and focused contract tests

Validation

  • pnpm lint:hbs
  • pnpm lint:js
  • pnpm lint:intl
  • focused PHP tests pass for Trailer model/broadcast behavior, Equipment polymorphism, telematics, Device API contracts, and public Trailer endpoint contracts
  • PHP formatting check passes for the changed PHP files
  • production Ember build passed during implementation; a final local rerun was affected by the sandbox process-uptime restriction after compilation

Baseline limitations

  • the full PHP unit suite reaches an existing unrelated Service Quote controller test failure
  • repository-wide PHPStan reports the existing package baseline
  • bulk delete is intentionally not included; deleting one attached Trailer returns a conflict until it is detached
  • the Asset public ID migration is nullable and does not rewrite historical Asset rows

Related PRs

@roncodes
roncodes force-pushed the feature/first-class-trailers branch from c313a8d to dbb29dc Compare September 3, 2026 11:11
@codecov

codecov Bot commented Sep 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (a9131da) to head (c5a6211).

Additional details and impacted files
@@             Coverage Diff              @@
##                main      #309    +/-   ##
============================================
  Coverage     100.00%   100.00%            
- Complexity      9899     10083   +184     
============================================
  Files            526       538    +12     
  Lines          38163     38802   +639     
============================================
+ Hits           38163     38802   +639     
Flag Coverage Δ
backend 100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant