fix: Fix /api/version endpoint path and save all review events to DB
This commit is contained in:
@@ -118,7 +118,7 @@ async def health_check():
|
||||
return {"status": "healthy"}
|
||||
|
||||
|
||||
@app.get("/version")
|
||||
@app.get("/api/version")
|
||||
async def get_version():
|
||||
"""Get backend version"""
|
||||
try:
|
||||
@@ -128,7 +128,8 @@ async def get_version():
|
||||
else:
|
||||
version = "unknown"
|
||||
return {"version": version}
|
||||
except Exception:
|
||||
except Exception as e:
|
||||
print(f"Error reading version: {e}")
|
||||
return {"version": "unknown"}
|
||||
|
||||
|
||||
|
||||
@@ -169,6 +169,22 @@ class ReviewTaskWorker:
|
||||
# Send initial "review started" message
|
||||
logger.info(f" 📢 Отправка начального сообщения о старте review...")
|
||||
try:
|
||||
# Save initial event to database
|
||||
from app.models.review_event import ReviewEvent
|
||||
initial_db_event = ReviewEvent(
|
||||
review_id=review.id,
|
||||
event_type="review_started",
|
||||
message=f"Начало review для PR #{pull_request.pr_number}",
|
||||
data={
|
||||
"repository_id": repository.id,
|
||||
"repository_name": f"{repository.repo_owner}/{repository.repo_name}"
|
||||
}
|
||||
)
|
||||
db.add(initial_db_event)
|
||||
await db.commit()
|
||||
logger.info(f" 💾 Начальное событие сохранено в БД: {initial_db_event.id}")
|
||||
|
||||
# Broadcast initial message
|
||||
initial_message = {
|
||||
"type": "review_started",
|
||||
"review_id": review.id,
|
||||
@@ -184,6 +200,8 @@ class ReviewTaskWorker:
|
||||
logger.info(f" ✅ Начальное сообщение отправлено: {len(manager.active_connections)} подключений")
|
||||
except Exception as e:
|
||||
logger.error(f" ❌ Ошибка отправки начального сообщения: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
|
||||
# Create event handler
|
||||
async def on_review_event(event: dict):
|
||||
@@ -240,6 +258,19 @@ class ReviewTaskWorker:
|
||||
|
||||
# Send completion message
|
||||
try:
|
||||
# Save completion event to database
|
||||
from app.models.review_event import ReviewEvent
|
||||
completion_db_event = ReviewEvent(
|
||||
review_id=review.id,
|
||||
event_type="review_completed",
|
||||
message=f"Review завершен для PR #{pull_request.pr_number}",
|
||||
data={}
|
||||
)
|
||||
db.add(completion_db_event)
|
||||
await db.commit()
|
||||
logger.info(f" 💾 Событие завершения сохранено в БД: {completion_db_event.id}")
|
||||
|
||||
# Broadcast completion message
|
||||
completion_message = {
|
||||
"type": "review_completed",
|
||||
"review_id": review.id,
|
||||
@@ -250,8 +281,11 @@ class ReviewTaskWorker:
|
||||
}
|
||||
}
|
||||
await manager.broadcast(completion_message)
|
||||
logger.info(f" 📢 Сообщение о завершении отправлено: {len(manager.active_connections)} подключений")
|
||||
except Exception as e:
|
||||
logger.error(f" ❌ Ошибка отправки сообщения о завершении: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
|
||||
|
||||
# Global worker instance
|
||||
|
||||
Reference in New Issue
Block a user