Обновлены настройки для интеграции с AI-agent сервисом. Изменены переменные окружения в .env, добавлен путь к .env в конфигурации, обновлен GigaChatService для работы через AI-agent. Также исправлены запросы в ScheduleGenerator для корректной загрузки задач. Обновлен docker-compose для подключения к AI-agent сервису.

This commit is contained in:
61 changed files with 266 additions and 49 deletions

View File

@@ -1,11 +1,14 @@
import json
from typing import List, Dict, Any, Optional
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy import select
from sqlalchemy.orm import selectinload
from app.services.gigachat_service import gigachat_service
from app.core.config import settings
from app.crud import schedule as crud_schedule, task as crud_task
from app.schemas.schedule import ScheduleCreate
from app.schemas.task import TaskCreate
from app.models.schedule import Schedule
from datetime import date
@@ -104,11 +107,17 @@ class ScheduleGenerator:
await crud_task.create(db, task_create.model_dump())
await db.refresh(db_schedule)
# Загружаем расписание с задачами через selectinload для async корректной работы
result = await db.execute(
select(Schedule)
.where(Schedule.id == db_schedule.id)
.options(selectinload(Schedule.tasks))
)
db_schedule_with_tasks = result.scalar_one()
return {
"schedule_id": db_schedule.id,
"title": db_schedule.title,
"schedule_id": db_schedule_with_tasks.id,
"title": db_schedule_with_tasks.title,
"tasks": [
{
"title": task.title,
@@ -117,7 +126,7 @@ class ScheduleGenerator:
"category": task.category,
"order": task.order
}
for task in db_schedule.tasks
for task in db_schedule_with_tasks.tasks
]
}
except json.JSONDecodeError as e: