diff --git a/app/routers/service.py b/app/routers/service.py index a8a9d84..c1997ef 100644 --- a/app/routers/service.py +++ b/app/routers/service.py @@ -293,9 +293,18 @@ async def update_service_call( if not data: return error_response("No data provided", 400) + logger.info(f"PUT /service/update/{id} - received scheduled_date={data.get('scheduled_date')!r}, type={data.get('type_service_call')!r}") + scheduled_datetime_str = data.get('scheduled_date') if scheduled_datetime_str: - service_record.scheduled_date = datetime.fromisoformat(scheduled_datetime_str) + try: + service_record.scheduled_date = datetime.fromisoformat(scheduled_datetime_str) + logger.info(f"PUT /service/update/{id} - parsed scheduled_date={service_record.scheduled_date}") + except ValueError as e: + logger.error(f"PUT /service/update/{id} - failed to parse scheduled_date: {e}") + return error_response(f"Invalid scheduled_date format: {scheduled_datetime_str}", 400) + else: + logger.warning(f"PUT /service/update/{id} - scheduled_date is empty/missing, not updating time") service_record.type_service_call = data.get('type_service_call', service_record.type_service_call) service_record.description = data.get('description', service_record.description) @@ -303,6 +312,8 @@ async def update_service_call( try: db.commit() + db.refresh(service_record) + logger.info(f"PUT /service/update/{id} - committed, scheduled_date now={service_record.scheduled_date}") return success_response({"service": serialize_service(service_record)}) except Exception as e: db.rollback() diff --git a/main.py b/main.py index 70b4ae5..30df8bc 100644 --- a/main.py +++ b/main.py @@ -8,6 +8,7 @@ from config import load_config from sqlalchemy import create_engine, text from sqlalchemy.orm import sessionmaker +# TODO: Consider using a more robust configuration management system from app.routers import service @@ -90,6 +91,7 @@ app.add_middleware( @app.get("/") def health_check(): + # TODO: Add more comprehensive health checks including DB status return {"ok": True, "service": "eamco_service"}