StPfeffer / rusty-roads

A simple route manager application written in Rust
MIT License
0 stars 0 forks source link

Feature Request: Implement Vehicle Document Scope #80

Closed StPfeffer closed 3 weeks ago

StPfeffer commented 1 month ago

Description

Implementation of the vehicle document scope.

Endpoints

Method Endpoint Description
GET /api/v1/vehicles/document List all the vehicles documents.
GET /api/v1/vehicles/:vehicleId/document Returns the document referring to the given vehicle ID.
POST /api/v1/vehicles/:vehicleId/document Creates a document referring to the vehicle associated with the entered vehicle ID.
DELETE /api/v1/vehicles/:vehicleId/document Deletes the document referring to the entered vehicle ID.

Payloads

List all vehicles documents

Response
{
    "documents": [
        {
            "id": "ebd428a5-3f29-4bd2-a337-6bfeadbe187c",
            "chassisNumber": "KLATF08YIVB363636",
            "exerciseYear": 2022,
            "modelYear": 2022,
            "manufactureYear": 2022,
            "registrationNumber": "481014772",
            "color": "White",
            "make": "Volkswagen",
            "model": "Gol",
            "plate": "P688CC",
            "updatedAt": "2024-06-03T23:59:55.822501",
            "vehicleId": "b87d1704-c957-4ee2-b378-f7be43c10b85"
        }
    ],
    "results": 1
}

Get a vehicle document

Response
{
    "id": "ebd428a5-3f29-4bd2-a337-6bfeadbe187c",
    "chassisNumber": "KLATF08YIVB363636",
    "exerciseYear": 2022,
    "modelYear": 2022,
    "manufactureYear": 2022,
    "registrationNumber": "481014772",
    "color": "White",
    "make": "Volkswagen",
    "model": "Gol",
    "plate": "P688CC",
    "updatedAt": "2024-06-03T23:59:55.822501",
    "vehicleId": "b87d1704-c957-4ee2-b378-f7be43c10b85"
}

Create a vehicle document

Request
{
    "chassisNumber": "KLATF08YIVB363636",
    "exerciseYear": 2022,
    "modelYear": 2022,
    "manufactureYear": 2022,
    "registrationNumber": "481014772",
    "color": "White",
    "make": "Volkswagen",
    "model": "Gol",
    "plate": "P688CC"
}
Response
{
    "id": "ebd428a5-3f29-4bd2-a337-6bfeadbe187c",
    "chassisNumber": "KLATF08YIVB363636",
    "exerciseYear": 2022,
    "modelYear": 2022,
    "manufactureYear": 2022,
    "registrationNumber": "481014772",
    "color": "White",
    "make": "Volkswagen",
    "model": "Gol",
    "plate": "P688CC",
    "updatedAt": "2024-06-03T23:59:55.822501",
    "vehicleId": "b87d1704-c957-4ee2-b378-f7be43c10b85"
}

Delete a vehicle document

Response
{
    "id": "ebd428a5-3f29-4bd2-a337-6bfeadbe187c",
    "chassisNumber": "KLATF08YIVB363636",
    "exerciseYear": 2022,
    "modelYear": 2022,
    "manufactureYear": 2022,
    "registrationNumber": "481014772",
    "color": "White",
    "make": "Volkswagen",
    "model": "Gol",
    "plate": "P688CC",
    "updatedAt": "2024-06-03T23:59:55.822501",
    "vehicleId": "b87d1704-c957-4ee2-b378-f7be43c10b85"
}

Type of change

Checklist