aubm / backend /services /project_service.py
cesjavi's picture
Deploy Aubm Docker Space
81ff144
from services.supabase_service import supabase
from typing import List, Dict, Any
import logging
logger = logging.getLogger("uvicorn")
class ProjectService:
"""
Handles the creation and management of projects and their constituent tasks.
"""
@staticmethod
async def create_project(title: str, description: str, user_id: str) -> Dict[str, Any]:
res = supabase.table("projects").insert({
"title": title,
"description": description,
"user_id": user_id,
"status": "active"
}).execute()
return res.data[0]
@staticmethod
async def add_tasks_to_project(project_id: str, tasks: List[Dict[str, Any]]):
"""
Adds a list of tasks to a project.
tasks: [{"title": "...", "description": "...", "assigned_agent_id": "..."}]
"""
formatted_tasks = [
{**task, "project_id": project_id, "status": "todo"}
for task in tasks
]
supabase.table("tasks").insert(formatted_tasks).execute()
logger.info(f"Added {len(tasks)} tasks to project {project_id}")
project_service = ProjectService()