From 70dd517e6a9f71e35b14ba948bffbf8fa5a0689d Mon Sep 17 00:00:00 2001 From: Mikkel Georgsen Date: Fri, 16 Jan 2026 18:42:04 +0000 Subject: [PATCH] feat(03-02): add get_project_by_name to project service Add case-insensitive project lookup by name using ilike query. Supports /project select command finding projects by name. Co-Authored-By: Claude Opus 4.5 --- src/moai/core/services/project.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/moai/core/services/project.py b/src/moai/core/services/project.py index 699d5a9..a8ddd8d 100644 --- a/src/moai/core/services/project.py +++ b/src/moai/core/services/project.py @@ -55,3 +55,17 @@ async def get_project(project_id: str) -> Project | None: async with get_session() as session: result = await session.execute(select(Project).where(Project.id == project_id)) return result.scalar_one_or_none() + + +async def get_project_by_name(name: str) -> Project | None: + """Get a project by name (case-insensitive). + + Args: + name: The project name to search for. + + Returns: + The Project object if found, None otherwise. + """ + async with get_session() as session: + result = await session.execute(select(Project).where(Project.name.ilike(name))) + return result.scalar_one_or_none()