from typing import List, Optional from repos.dao import DAO from models.Idea import Idea class IdeaService: def __init__(self, dao: DAO): self.dao = dao async def create_idea(self, name: str, project_id: str, user_id: str) -> Idea: idea = Idea(name=name, project_id=project_id, created_by=user_id) idea_id = await self.dao.ideas.create_idea(idea) idea.id = idea_id return idea async def get_ideas(self, project_id: str, limit: int = 20, offset: int = 0) -> List[Idea]: return await self.dao.ideas.get_ideas(project_id, limit, offset) async def get_idea(self, idea_id: str) -> Optional[Idea]: return await self.dao.ideas.get_idea(idea_id) async def delete_idea(self, idea_id: str) -> bool: return await self.dao.ideas.delete_idea(idea_id)