Skip to content

Commit 10342ef

Browse files
Wang-Daojiyuan.wang
andauthored
add get_user_names_by_memory_ids api (#790)
Co-authored-by: yuan.wang <[email protected]>
1 parent 3e4b342 commit 10342ef

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

src/memos/api/product_models.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1168,3 +1168,16 @@ class AllStatusResponse(BaseResponse[AllStatusResponseData]):
11681168
"""Response model for full scheduler status operations."""
11691169

11701170
message: str = "Scheduler status summary retrieved successfully"
1171+
1172+
1173+
# ─── Internal API Endpoints Models (for internal use) ───────────────────────────────────────────────────
1174+
1175+
1176+
class GetUserNamesByMemoryIdsRequest(BaseRequest):
1177+
"""Request model for getting user names by memory ids."""
1178+
1179+
memory_ids: list[str] = Field(..., description="Memory IDs")
1180+
1181+
1182+
class GetUserNamesByMemoryIdsResponse(BaseResponse[dict[str, list[str]]]):
1183+
"""Response model for getting user names by memory ids."""

src/memos/api/routers/server_router.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,16 @@
3636
GetMemoryPlaygroundRequest,
3737
GetMemoryRequest,
3838
GetMemoryResponse,
39+
GetUserNamesByMemoryIdsRequest,
40+
GetUserNamesByMemoryIdsResponse,
3941
MemoryResponse,
4042
SearchResponse,
4143
StatusResponse,
4244
SuggestionRequest,
4345
SuggestionResponse,
4446
TaskQueueResponse,
4547
)
48+
from memos.graph_dbs.polardb import PolarDBGraphDB
4649
from memos.log import get_logger
4750
from memos.mem_scheduler.base_scheduler import BaseScheduler
4851
from memos.mem_scheduler.utils.status_tracker import TaskStatusTracker
@@ -84,6 +87,7 @@
8487
redis_client = components["redis_client"]
8588
status_tracker = TaskStatusTracker(redis_client=redis_client)
8689
embedder = components["embedder"]
90+
graph_db = components["graph_db"]
8791

8892

8993
# =============================================================================
@@ -329,3 +333,27 @@ def feedback_memories(feedback_req: APIFeedbackRequest):
329333
This endpoint uses the class-based FeedbackHandler for better code organization.
330334
"""
331335
return feedback_handler.handle_feedback_memories(feedback_req)
336+
337+
338+
# =============================================================================
339+
# Other API Endpoints (for internal use)
340+
# =============================================================================
341+
342+
343+
@router.get(
344+
"/get_user_names_by_memory_ids",
345+
summary="Get user names by memory ids",
346+
response_model=GetUserNamesByMemoryIdsResponse,
347+
)
348+
def get_user_names_by_memory_ids(memory_ids: GetUserNamesByMemoryIdsRequest):
349+
"""Get user names by memory ids."""
350+
if not isinstance(graph_db, PolarDBGraphDB):
351+
raise HTTPException(
352+
status_code=400,
353+
detail=(
354+
"graph_db must be an instance of PolarDBGraphDB to use "
355+
"get_user_names_by_memory_ids"
356+
f"current graph_db is: {graph_db.__class__.__name__}"
357+
),
358+
)
359+
return graph_db.get_user_names_by_memory_ids(memory_ids=memory_ids)

0 commit comments

Comments
 (0)