refactor: 重整 schemas 作用域并统一用户上下文模型
This commit is contained in:
@@ -5,10 +5,10 @@ from uuid import UUID
|
||||
|
||||
from fastapi import APIRouter, Depends
|
||||
|
||||
from schemas.user.context import UserContext
|
||||
from v1.users.dependencies import get_user_service
|
||||
from v1.users.schemas import UserResponse, UserSearchRequest, UserUpdateRequest
|
||||
from v1.users.service import UserService
|
||||
from v1.friendships.schemas import UserBasicInfo
|
||||
|
||||
|
||||
router = APIRouter(prefix="/users", tags=["users"])
|
||||
@@ -37,9 +37,9 @@ async def search_users(
|
||||
return await service.search_users(payload)
|
||||
|
||||
|
||||
@router.get("/{user_id}", response_model=UserBasicInfo)
|
||||
@router.get("/{user_id}", response_model=UserContext)
|
||||
async def get_user(
|
||||
user_id: UUID,
|
||||
service: Annotated[UserService, Depends(get_user_service)],
|
||||
) -> UserBasicInfo:
|
||||
) -> UserContext:
|
||||
return await service.get_user_by_id(user_id)
|
||||
|
||||
@@ -19,8 +19,8 @@ from v1.users.schemas import UserResponse, UserSearchRequest, UserUpdateRequest
|
||||
if TYPE_CHECKING:
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from schemas.user.context import UserContext
|
||||
from v1.auth.schemas import UserByEmailResponse
|
||||
from v1.friendships.schemas import UserBasicInfo
|
||||
|
||||
logger = get_logger("v1.users.service")
|
||||
|
||||
@@ -100,8 +100,8 @@ class UserService(BaseService):
|
||||
bio=user.bio,
|
||||
)
|
||||
|
||||
async def get_user_by_id(self, user_id: UUID) -> "UserBasicInfo":
|
||||
from v1.friendships.schemas import UserBasicInfo
|
||||
async def get_user_by_id(self, user_id: UUID) -> "UserContext":
|
||||
from schemas.user.context import UserContext
|
||||
|
||||
try:
|
||||
profile = await self._repository.get_by_user_id(user_id)
|
||||
@@ -110,7 +110,7 @@ class UserService(BaseService):
|
||||
|
||||
if profile is None:
|
||||
raise HTTPException(status_code=404, detail="User not found")
|
||||
return UserBasicInfo(
|
||||
return UserContext(
|
||||
id=str(profile.id),
|
||||
username=profile.username,
|
||||
avatar_url=profile.avatar_url,
|
||||
|
||||
Reference in New Issue
Block a user