38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
from fastapi import status
|
||
from pydantic import BaseModel, Field
|
||
|
||
from loveace.router.schemas.base import ErrorToCode, ErrorToCodeNode
|
||
|
||
|
||
class LoginRequest(BaseModel):
|
||
userid: str = Field(..., description="用户ID")
|
||
ec_password: str = Field(..., description="用户EC密码,rsa encrypt加密后的密文")
|
||
password: str = Field(..., description="用户登录密码,rsa encrypt加密后的密文")
|
||
|
||
|
||
class LoginResponse(BaseModel):
|
||
token: str = Field(..., description="用户登录成功后返回的Authme Token")
|
||
|
||
|
||
class LoginErrorToCode(ErrorToCode):
|
||
invalid_credentials: ErrorToCodeNode = ErrorToCodeNode(
|
||
error_code=status.HTTP_403_FORBIDDEN,
|
||
code="CREDENTIALS_INVALID",
|
||
message="凭证无效",
|
||
)
|
||
remote_invalid_credentials: ErrorToCodeNode = ErrorToCodeNode(
|
||
error_code=status.HTTP_403_FORBIDDEN,
|
||
code="REMOTE_CREDENTIALS_INVALID",
|
||
message="远程凭证无效,EC密码或登录密码错误,需要进行密码重置",
|
||
)
|
||
cooldown: ErrorToCodeNode = ErrorToCodeNode(
|
||
error_code=status.HTTP_429_TOO_MANY_REQUESTS,
|
||
code="COOLDOWN",
|
||
message="操作过于频繁,请稍后再试",
|
||
)
|
||
server_error: ErrorToCodeNode = ErrorToCodeNode(
|
||
error_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
|
||
code="SERVER_ERROR",
|
||
message="服务器错误",
|
||
)
|