59 lines
2.1 KiB
Python
59 lines
2.1 KiB
Python
"""
|
|
用户管理API
|
|
"""
|
|
|
|
from typing import Dict, Any, List
|
|
from httpx import AsyncClient, Response
|
|
from .base_api import BaseAPI
|
|
|
|
|
|
class UserAPI(BaseAPI):
|
|
"""用户管理API"""
|
|
|
|
def __init__(self, client: AsyncClient):
|
|
super().__init__(client, "/api/users")
|
|
|
|
async def create_user(self, user_data: Dict[str, Any]) -> Response:
|
|
"""创建用户"""
|
|
return await self.post("", json=user_data)
|
|
|
|
async def get_user_by_id(self, user_id: int) -> Response:
|
|
"""根据ID获取用户"""
|
|
return await self.get(f"/{user_id}")
|
|
|
|
async def get_all_users(self, include_deleted: bool = False) -> Response:
|
|
"""获取所有用户"""
|
|
return await self.get("", params={"includeDeleted": include_deleted})
|
|
|
|
async def update_user(self, user_id: int, user_data: Dict[str, Any]) -> Response:
|
|
"""更新用户"""
|
|
return await self.put(f"/{user_id}", json=user_data)
|
|
|
|
async def delete_user(self, user_id: int) -> Response:
|
|
"""删除用户"""
|
|
return await self.delete(f"/{user_id}")
|
|
|
|
async def logical_delete_user(self, user_id: int) -> Response:
|
|
"""逻辑删除用户"""
|
|
return await self.delete(f"/{user_id}/logical")
|
|
|
|
async def logical_delete_users(self, user_ids: List[int]) -> Response:
|
|
"""批量逻辑删除用户"""
|
|
return await self.post("/logical-delete", json=user_ids)
|
|
|
|
async def restore_user(self, user_id: int) -> Response:
|
|
"""恢复用户"""
|
|
return await self.post(f"/{user_id}/restore")
|
|
|
|
async def restore_users(self, user_ids: List[int]) -> Response:
|
|
"""批量恢复用户"""
|
|
return await self.post("/restore", json=user_ids)
|
|
|
|
async def check_username_exists(self, username: str) -> Response:
|
|
"""检查用户名是否存在"""
|
|
return await self.get("/check/username", params={"username": username})
|
|
|
|
async def check_email_exists(self, email: str) -> Response:
|
|
"""检查邮箱是否存在"""
|
|
return await self.get("/check/email", params={"email": email})
|