Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[BUG] API endpoints for Vehicles and VehicleInfo do not return dates in culture-invariant format #895

@thaapaniemi

Description

@thaapaniemi

Checklist
Please make sure you have performed the following steps before opening a new bug ticket, change [ ] to [x] to mark it as done

  • I have read and tried the steps outlined in the Troubleshooting Guide
  • I have searched through existing issues.

Description
When using the API with culture-invariant format, results returned by Vehicles (and VechicleInfo for vehicle) are still in locale format:

Example against the demo-service (with manually added purchaseDate and soldDate):

$ curl -H "culture-invariant: true"  -u test https://demo.lubelogger.com/api/vehicles |jq
[
  {
    "id": 1,
    "imageLocation": "/images/a5fc022e-3d82-40d0-94bc-33ed07f19bfb.jpg",
    "year": 1992,
    "make": "Jeep",
    "model": "Cherokee",
    "licensePlate": "MOMWAGON",
    "purchaseDate": "08/30/2024",
    "soldDate": "03/18/2025",
    "purchasePrice": 0,
    "soldPrice": 0,
    "isElectric": false,
    "isDiesel": false,
    "useHours": false,
    "odometerOptional": false,
    "extraFields": [],
    "tags": [],
    "hasOdometerAdjustment": false,
    "odometerMultiplier": "1",
    "odometerDifference": "0",
    "dashboardMetrics": [
      0,
      2
    ],
    "vehicleIdentifier": "LicensePlate"
  }
]

$ curl  -H "culture-invariant: true"  -u test https://demo.lubelogger.com/api/vehicle/info?vehicleId=1 |jq
[
  {
    "vehicleData": {
      "id": 1,
      "imageLocation": "/images/a5fc022e-3d82-40d0-94bc-33ed07f19bfb.jpg",
      "year": 1992,
      "make": "Jeep",
      "model": "Cherokee",
      "licensePlate": "MOMWAGON",
      "purchaseDate": "08/30/2024",
      "soldDate": "03/18/2025",
      "purchasePrice": 0,
      "soldPrice": 0,
      "isElectric": false,
      "isDiesel": false,
      "useHours": false,
      "odometerOptional": false,
      "extraFields": [],
      "tags": [],
      "hasOdometerAdjustment": false,
      "odometerMultiplier": "1",
      "odometerDifference": "0",
      "dashboardMetrics": [
        0,
        2
      ],
      "vehicleIdentifier": "LicensePlate"
    },
    "veryUrgentReminderCount": 0,
    "urgentReminderCount": 0,
    "notUrgentReminderCount": 1,
    "pastDueReminderCount": 0,
    "nextReminder": {
      "description": "Oil Change",
      "urgency": "NotUrgent",
      "metric": "Odometer",
      "notes": null,
      "dueDate": "2024-01-26",
      "dueOdometer": 225000
    },
    "serviceRecordCount": 22,
    "serviceRecordCost": 1586.97,
    "repairRecordCount": 34,
    "repairRecordCost": 1763.83,
    "upgradeRecordCount": 13,
    "upgradeRecordCost": 625.07,
    "taxRecordCount": 3,
    "taxRecordCost": 210.5,
    "gasRecordCount": 109,
    "gasRecordCost": 3611.25,
    "lastReportedOdometer": 222647,
    "planRecordBackLogCount": 0,
    "planRecordInProgressCount": 0,
    "planRecordTestingCount": 0,
    "planRecordDoneCount": 0
  }
]

I'm not C# coder but at least the following APIController seems to be missing the culture-invariant check
https://github.com/hargata/lubelog/blob/main/Controllers/APIController.cs#L116-L124

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions