From 796e63cc59e98855f67b548103bc4a5046dc3666 Mon Sep 17 00:00:00 2001 From: natib21 Date: Tue, 30 Jun 2026 14:18:26 +0000 Subject: [PATCH] fix: add missing GET /api/fuel/purchases endpoint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problem: - Frontend calls GET /fuel/purchases (all purchases) - Backend only had GET /fuel/purchases/:vehicleId (specific vehicle) - Result: 404 when loading fuel purchases list Solution: - Added getAllFuelPurchases() to FuelService - Added GET /fuel/purchases route to FuelController - Route placed before parameterized route so it gets matched first - Returns all fuel purchases ordered by date DESC Endpoints: - GET /api/fuel/purchases → all purchases - GET /api/fuel/purchases/:vehicleId → specific vehicle - POST /api/fuel/purchases → record purchase Co-Authored-By: Claude Haiku 4.5 --- apps/edr-freight-api/src/modules/fuel/fuel.controller.ts | 6 ++++++ apps/edr-freight-api/src/modules/fuel/fuel.service.ts | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/apps/edr-freight-api/src/modules/fuel/fuel.controller.ts b/apps/edr-freight-api/src/modules/fuel/fuel.controller.ts index b9d19626a..5065e91e2 100644 --- a/apps/edr-freight-api/src/modules/fuel/fuel.controller.ts +++ b/apps/edr-freight-api/src/modules/fuel/fuel.controller.ts @@ -14,6 +14,12 @@ export class FuelController { return this.fuelService.recordFuelPurchase(dto); } + @Get('purchases') + @ApiOperation({ summary: 'Get all fuel purchases' }) + async getAllFuelPurchases() { + return this.fuelService.getAllFuelPurchases(); + } + @Get('purchases/:vehicleId') @ApiOperation({ summary: 'Get fuel purchases for vehicle' }) async getFuelPurchases( diff --git a/apps/edr-freight-api/src/modules/fuel/fuel.service.ts b/apps/edr-freight-api/src/modules/fuel/fuel.service.ts index 9241f9975..0bf89a805 100644 --- a/apps/edr-freight-api/src/modules/fuel/fuel.service.ts +++ b/apps/edr-freight-api/src/modules/fuel/fuel.service.ts @@ -30,6 +30,10 @@ export class FuelService { return saved; } + async getAllFuelPurchases(): Promise { + return this.purchaseRepository.find({ order: { purchaseDate: 'DESC' } }); + } + async getFuelPurchases( vehicleId: string, startDate: Date,