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:
parent
4d8c66ee07
commit
70dd517e6a
1 changed files with 14 additions and 0 deletions
|
|
@ -55,3 +55,17 @@ async def get_project(project_id: str) -> Project | None:
|
||||||
async with get_session() as session:
|
async with get_session() as session:
|
||||||
result = await session.execute(select(Project).where(Project.id == project_id))
|
result = await session.execute(select(Project).where(Project.id == project_id))
|
||||||
return result.scalar_one_or_none()
|
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()
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue