仓库模块完了
This commit is contained in:
@@ -3,12 +3,30 @@ from typing import Optional, List
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
class RoleBase(BaseModel):
|
||||
"""角色基础模式"""
|
||||
id: Optional[str] = None
|
||||
name: str = Field(..., description="角色名称")
|
||||
description: str = Field(default="", description="角色描述")
|
||||
|
||||
|
||||
class RoleCreate(RoleBase):
|
||||
"""创建角色模式"""
|
||||
pass
|
||||
|
||||
|
||||
class RoleResponse(RoleBase):
|
||||
"""角色响应模式"""
|
||||
created_at: datetime
|
||||
updated_at: Optional[datetime] = None
|
||||
|
||||
|
||||
class UserBase(BaseModel):
|
||||
"""用户基础模式"""
|
||||
id: Optional[str] = None
|
||||
username: str = Field(..., description="用户名")
|
||||
email: EmailStr = Field(..., description="邮箱")
|
||||
role: str = Field(default="user", description="用户角色")
|
||||
role_id: str = Field(..., description="角色ID")
|
||||
|
||||
|
||||
class UserCreate(UserBase):
|
||||
@@ -20,7 +38,7 @@ class UserUpdate(BaseModel):
|
||||
"""更新用户模式"""
|
||||
username: Optional[str] = None
|
||||
email: Optional[EmailStr] = None
|
||||
role: Optional[str] = None
|
||||
role_id: Optional[str] = None
|
||||
status: Optional[str] = None
|
||||
password: Optional[str] = None
|
||||
|
||||
@@ -30,6 +48,8 @@ class UserResponse(UserBase):
|
||||
status: str
|
||||
created_at: datetime
|
||||
updated_at: Optional[datetime] = None
|
||||
role: Optional[RoleResponse] = None
|
||||
role_name: Optional[str] = None
|
||||
|
||||
|
||||
class UserListResponse(BaseModel):
|
||||
@@ -56,28 +76,4 @@ class LoginRequest(BaseModel):
|
||||
password: str = Field(..., description="密码")
|
||||
|
||||
|
||||
class APIKeyBase(BaseModel):
|
||||
"""API密钥基础模式"""
|
||||
id: Optional[str] = None
|
||||
user_id: str = Field(..., description="用户ID")
|
||||
name: str = Field(..., description="密钥名称")
|
||||
|
||||
|
||||
class APIKeyCreate(APIKeyBase):
|
||||
"""创建API密钥模式"""
|
||||
expires_at: datetime = Field(..., description="过期时间")
|
||||
|
||||
|
||||
class APIKeyResponse(APIKeyBase):
|
||||
"""API密钥响应模式"""
|
||||
key: str
|
||||
expires_at: datetime
|
||||
status: str
|
||||
created_at: datetime
|
||||
updated_at: Optional[datetime] = None
|
||||
|
||||
|
||||
class APIKeyListResponse(BaseModel):
|
||||
"""API密钥列表响应模式"""
|
||||
api_keys: List[APIKeyResponse]
|
||||
total: int
|
||||
|
||||
Reference in New Issue
Block a user