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 <noreply@anthropic.com>
This commit is contained in:
Mikkel Georgsen 2026-01-16 18:42:04 +00:00
parent 4d8c66ee07
commit 70dd517e6a

View file

@ -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()