Actualizar conductor
PUT/drivers/:id
Propósito
Actualiza los datos de un conductor existente asociado a la empresa.
Objetivo
Permitir modificar los datos personales de un conductor (nombre, teléfono, email, dirección, vehículo por defecto, etc.).
Casos de uso
- Corregir datos incorrectos de un conductor.
- Actualizar el teléfono o email de un conductor.
- Cambiar el vehículo por defecto del conductor.
Flujo de actualización
flowchart TD
A[Recibir PUT /drivers/:id] --> B{¿ID proporcionado?}
B -->|No| C[404 NOT_FOUND]
B -->|Sí| D{¿Conductor pertenece a la empresa?}
D -->|No| E[403 NOT_ALLOWED]
D -->|Sí| F{¿Se cambia el email?}
F -->|Sí| G{¿Nuevo email ya registrado?}
G -->|Sí| H[406 USER_ALREADY_EXIST]
G -->|No| I[Validar datos con validateData]
F -->|No| I
I -->|Error| J[400 Error de validación]
I -->|OK| K[Actualizar y guardar]
K --> L[200 OK - Conductor actualizado]
Detalles técnicos
- Verifica que el conductor (
id) pertenezca al arraycia.truckersde la empresa autenticada. Si no, devuelve403 NOT_ALLOWED. - Si se cambia el
email, valida que el nuevo email no esté ya registrado en otra cuenta. - Los datos se validan con
TruckerUser.validateData(). - Actualiza los campos con
TruckerUser.updateData().
Autenticación
Requiere JWT Bearer token o API Key.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 406
- 500
Conductor actualizado exitosamente
Response Headers
Error de validación de datos (fecha de nacimiento inválida u otro campo)
Response Headers
Token JWT o API Key ausente, expirado o inválido
Response Headers
El conductor no pertenece al array truckers de la empresa autenticada
Response Headers
No se encontró el conductor con el ID proporcionado
Response Headers
El nuevo email ya está registrado por otro usuario
Response Headers
Error inesperado al actualizar el conductor