diff --git a/app/api/friend.py b/app/api/friend.py index fecce43..c88bf3e 100644 --- a/app/api/friend.py +++ b/app/api/friend.py @@ -1,7 +1,12 @@ from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.orm import Session from app.core.deps import get_db, get_current_user -from app.schemas.friend import FriendRequestCreate, FriendRequestResponse, FriendResponse +from app.schemas.friend import ( + FriendRequestCreate, + FriendRequestResponse, + FriendResponse, + FriendListItem, +) from app.schemas.character import CharacterResponse from app.services import friend_service from app.models.user import User @@ -55,7 +60,7 @@ def respond_to_request( return {"detail": "요청을 처리했습니다."} -@router.get("/list", response_model=list[int]) +@router.get("/list", response_model=list[FriendListItem]) def get_friend_list( db: Session = Depends(get_db), current_user: User = Depends(get_current_user) diff --git a/app/schemas/friend.py b/app/schemas/friend.py index e37e150..d981bba 100644 --- a/app/schemas/friend.py +++ b/app/schemas/friend.py @@ -36,3 +36,11 @@ class FriendResponse(BaseModel): class Config: orm_mode = True + + +class FriendListItem(BaseModel): + id: int + email: str + + class Config: + orm_mode = True diff --git a/app/services/friend_service.py b/app/services/friend_service.py index b1adda6..e529c01 100644 --- a/app/services/friend_service.py +++ b/app/services/friend_service.py @@ -139,7 +139,9 @@ def get_friend_list(db: Session, user_id: int): result = [] for f in friends: friend_id = f.user_id_2 if f.user_id_1 == user_id else f.user_id_1 - result.append(friend_id) + friend = db.query(User).filter(User.id == friend_id).first() + friend_email = friend.email if friend else None + result.append({"id": friend_id, "email": friend_email}) return result