Saltar al contenido principal

Actualizar vehículo

PUT 

/vehicles/:id

Propósito

Actualiza los datos de un vehículo existente de la flota.

Objetivo

Permitir modificar los datos de un vehículo (tipo, matrícula, tipo de envío, carga, temperatura) y actualizar sus archivos.

Casos de uso

  • Cambiar la matrícula o el tipo de vehículo.
  • Actualizar el tipo de envío de seco a refrigerado.
  • Subir una nueva foto o documento ITV.

Flujo de actualización

flowchart TD
A[Recibir PUT /vehicles/{id}] --> B{¿Empresa encontrada?}
B -->|No| C[404 NOT_FOUND]
B -->|Sí| D{¿Vehículo en company.vehicles?}
D -->|No| E[404 NOT_FOUND]
D -->|Sí| F{¿Vehículo existe en BD?}
F -->|No| G[404 NOT_FOUND]
F -->|Sí| H[Parsear cargo_type como JSON]
H --> I[Actualizar con Vehicle.updateData]
I --> J[Guardar vehículo]
J --> K[200 OK - Vehículo actualizado]

Detalles técnicos

  • Verifica pertenencia del vehículo al array company.vehicles.
  • Acepta multipart/form-data con archivos opcionales vía multerS3.any().
  • El campo cargo_type se parsea desde JSON string y debe ser un array JSON válido (ejemplo: ["back"]).
  • Actualiza campos con Vehicle.updateData().
  • URL OpenAPI: /vehicles/{id} (no /vehicles/:id).

Autenticación

Requiere JWT Bearer token o API Key.

Request

Responses

Vehículo actualizado exitosamente

Response Headers