feat: display vehicle name instead of ID in fuel purchases table

Backend:
- FuelService.getAllFuelPurchases() now loads vehicle relationship
- Uses leftJoinAndSelect to eagerly load Vehicle data
- Returns complete FuelPurchase with nested vehicle object

Frontend:
- Table displays vehicle.registrationNumber (primary)
- Falls back to vehicle.plateNumber if registration unavailable
- Falls back to vehicleId as last resort

Better UX: shows human-readable vehicle info instead of UUID.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
natib21
2026-06-30 14:23:54 +00:00
parent 67ba168a22
commit fea869a19c
2 changed files with 6 additions and 2 deletions

View File

@@ -31,7 +31,11 @@ export class FuelService {
}
async getAllFuelPurchases(): Promise<FuelPurchase[]> {
return this.purchaseRepository.find({ order: { purchaseDate: 'DESC' } });
return this.purchaseRepository
.createQueryBuilder('purchase')
.leftJoinAndSelect('purchase.vehicle', 'vehicle')
.orderBy('purchase.purchaseDate', 'DESC')
.getMany();
}
async getFuelPurchases(