Complete CarPass product flows
This commit is contained in:
@@ -14,6 +14,7 @@ from app.schemas.service_center import (
|
||||
VehicleDataChangeRequestCreate,
|
||||
VehicleDataChangeRequestRead,
|
||||
)
|
||||
from app.services.odometer import apply_odometer_from_record
|
||||
from app.services.vehicle_identity import normalize_license_plate, validate_vin
|
||||
|
||||
router = APIRouter(prefix="/service-visits", tags=["service-visits"])
|
||||
@@ -83,8 +84,14 @@ async def confirm_visit(
|
||||
raise HTTPException(status_code=403, detail="Forbidden")
|
||||
visit.status = "confirmed"
|
||||
visit.owner_resolved_at = datetime.now(UTC)
|
||||
if visit.odometer and (vehicle.current_odometer is None or visit.odometer > vehicle.current_odometer):
|
||||
vehicle.current_odometer = visit.odometer
|
||||
await apply_odometer_from_record(
|
||||
session,
|
||||
vehicle,
|
||||
new_odometer=visit.odometer,
|
||||
source_record_type="service_visit",
|
||||
source_record_id=visit.id,
|
||||
changed_by=current_user.id,
|
||||
)
|
||||
await log_audit(session, actor=current_user, action="service_visit.confirm", target_type="service_visit", target_id=visit_id)
|
||||
await session.commit()
|
||||
await session.refresh(visit)
|
||||
|
||||
Reference in New Issue
Block a user