feat(auth): 新增ws登录认证、区分http和ws认证
This commit is contained in:
@@ -15,7 +15,7 @@ from core.db.crud import CRUD
|
||||
from core.db.engine import get_async_session
|
||||
from core.db.models import User, UserFollows
|
||||
from core.routers.auth.schema import LoginUser
|
||||
from core.routers.auth.services import get_current_user
|
||||
from core.routers.auth.services import get_current_user_form_http
|
||||
|
||||
from . import schema
|
||||
|
||||
@@ -24,7 +24,7 @@ user_router = APIRouter(prefix='/user', tags=['用户模块'])
|
||||
|
||||
@user_router.get('/me/info', summary='用户信息(我的)', response_model=base_schema.BaseResponse[schema.User])
|
||||
async def get_me_info(
|
||||
login_user: LoginUser = Depends(get_current_user),
|
||||
login_user: LoginUser = Depends(get_current_user_form_http),
|
||||
db_session: AsyncSession = Depends(get_async_session)
|
||||
):
|
||||
db_crud = CRUD(db_session, User)
|
||||
@@ -42,7 +42,7 @@ async def get_me_info(
|
||||
)
|
||||
async def get_visit_user_info(
|
||||
user_id: int,
|
||||
login_user: LoginUser = Depends(get_current_user),
|
||||
login_user: LoginUser = Depends(get_current_user_form_http),
|
||||
db_session: AsyncSession = Depends(get_async_session)
|
||||
):
|
||||
if user_id == login_user.user_id:
|
||||
@@ -65,7 +65,7 @@ async def get_visit_user_info(
|
||||
]
|
||||
)
|
||||
async def get_all_followers(
|
||||
login_user: LoginUser = Depends(get_current_user),
|
||||
login_user: LoginUser = Depends(get_current_user_form_http),
|
||||
page: int = Query(default=1, gt=0),
|
||||
page_size: int = Query(default=15, gt=0, le=200),
|
||||
db_session: AsyncSession = Depends(get_async_session)
|
||||
@@ -104,11 +104,11 @@ async def get_all_followers(
|
||||
async def follow_user(
|
||||
user_id: int,
|
||||
action: Literal['follower', 'unfollower'],
|
||||
login_user: LoginUser = Depends(get_current_user),
|
||||
login_user: LoginUser = Depends(get_current_user_form_http),
|
||||
db_session: AsyncSession = Depends(get_async_session)
|
||||
):
|
||||
if user_id == login_user.user_id:
|
||||
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail='无法操作')
|
||||
raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail='无法操作')
|
||||
|
||||
db_crud = CRUD(db_session, User)
|
||||
follower_user: User | None = await db_crud.get(filters={'user_id': user_id})
|
||||
@@ -143,7 +143,7 @@ async def follow_user(
|
||||
async def search_user(
|
||||
nickname: str = Query(...),
|
||||
page_size: int = Query(default=30, gt=0, le=30),
|
||||
login_user: LoginUser = Depends(get_current_user),
|
||||
login_user: LoginUser = Depends(get_current_user_form_http),
|
||||
db_session: AsyncSession = Depends(get_async_session)
|
||||
):
|
||||
db_crud = CRUD(db_session, User)
|
||||
|
||||
Reference in New Issue
Block a user