Spaces:
Sleeping
Sleeping
| from fastapi import APIRouter | |
| from fastapi import Query | |
| from core.trie_store import ( | |
| trie, | |
| handle_frequency | |
| ) | |
| router = APIRouter( | |
| prefix="/suggest", | |
| tags=["Suggestions"] | |
| ) | |
| async def suggest_handles( | |
| prefix: str = Query(..., min_length=1) | |
| ): | |
| matches = trie.search_prefix( | |
| prefix=prefix, | |
| limit=50 | |
| ) | |
| matches.sort( | |
| key=lambda handle: handle_frequency.get( | |
| handle, | |
| 0 | |
| ), | |
| reverse=True | |
| ) | |
| return { | |
| "prefix": prefix, | |
| "suggestions": matches[:5] | |
| } |