sync from local backup
This commit is contained in:
@@ -0,0 +1,121 @@
|
||||
"""
|
||||
Response codes and messages enumeration for standardized API responses
|
||||
|
||||
This module contains all response codes and messages used across the application.
|
||||
Codes are 5-digit numbers:
|
||||
- 10000-19999: Success codes
|
||||
- 20000-29999: Error codes
|
||||
"""
|
||||
|
||||
from enum import IntEnum, Enum
|
||||
|
||||
|
||||
class ResponseCode(IntEnum):
|
||||
"""Response codes enumeration (5-digit numbers)"""
|
||||
|
||||
SUCCESS = 10000
|
||||
EMAIL_SENT_REGISTER = 10001
|
||||
EMAIL_SENT_LOGIN = 10002
|
||||
REGISTRATION_SUCCESS = 10003
|
||||
LOGIN_SUCCESS = 10004
|
||||
PASSWORD_CHANGED = 10005
|
||||
PASSWORD_SET = 10006
|
||||
EMAIL_CHANGE_CODE_SENT = 10007
|
||||
EMAIL_CHANGED = 10008
|
||||
PARAMETER_ERROR = 20001
|
||||
EMAIL_EMPTY = 20002
|
||||
EMAIL_SEND_FAILED = 20003
|
||||
VERIFICATION_CODE_EXPIRED = 20004
|
||||
USER_DATA_INVALID = 20005
|
||||
VERIFICATION_CODE_ERROR = 20006
|
||||
LOGIN_VERIFICATION_EXPIRED = 20007
|
||||
LOGIN_VERIFICATION_ERROR = 20008
|
||||
SERVER_INTERNAL_ERROR = 20009
|
||||
OLD_PASSWORD_ERROR = 20010
|
||||
PASSWORD_MISMATCH = 20011
|
||||
PASSWORD_TOO_SHORT = 20012
|
||||
PASSWORD_TOO_WEAK = 20013
|
||||
EMAIL_SAME_AS_OLD = 20014
|
||||
EMAIL_ALREADY_IN_USE = 20015
|
||||
RESET_CODE_SENT = 10009
|
||||
PASSWORD_RESET_SUCCESS = 10010
|
||||
VALIDATION_ERROR = 20016
|
||||
NOT_FOUND = 20017
|
||||
USER_NOT_FOUND = 20018
|
||||
CAPTCHA_ERROR = 20020
|
||||
CAPTCHA_EXPIRED = 20021
|
||||
CAPTCHA_REQUIRED = 20022
|
||||
EMAIL_DOMAIN_INVALID = 20023
|
||||
|
||||
|
||||
class ResponseMessage:
|
||||
"""Response messages enumeration (static class)"""
|
||||
|
||||
SUCCESS = 'Success'
|
||||
EMAIL_SENT_REGISTER = '账号未注册,已发送注册邮件'
|
||||
EMAIL_SENT_LOGIN = '邮件发送成功'
|
||||
REGISTRATION_SUCCESS = '注册成功'
|
||||
LOGIN_SUCCESS = '登录成功'
|
||||
PASSWORD_CHANGED = '密码修改成功'
|
||||
PASSWORD_SET = '密码设置成功'
|
||||
EMAIL_CHANGE_CODE_SENT = '验证码已发送至邮箱'
|
||||
EMAIL_CHANGED = '邮箱修改成功'
|
||||
PARAMETER_ERROR = '参数异常'
|
||||
EMAIL_EMPTY = '邮箱地址不能为空'
|
||||
EMAIL_SEND_FAILED = '邮件发送失败'
|
||||
VERIFICATION_CODE_EXPIRED = '验证码已过期或未发送'
|
||||
USER_DATA_INVALID = '用户数据验证失败'
|
||||
VERIFICATION_CODE_ERROR = '验证码错误'
|
||||
LOGIN_VERIFICATION_EXPIRED = '验证码已过期或未发送'
|
||||
LOGIN_VERIFICATION_ERROR = '验证码错误'
|
||||
SERVER_INTERNAL_ERROR = '服务器内部错误'
|
||||
OLD_PASSWORD_ERROR = '当前密码错误'
|
||||
PASSWORD_MISMATCH = '两次输入的新密码不一致'
|
||||
PASSWORD_TOO_SHORT = '密码长度不能少于8位'
|
||||
PASSWORD_TOO_WEAK = '密码必须包含字母和数字'
|
||||
EMAIL_SAME_AS_OLD = '新邮箱与当前邮箱相同'
|
||||
EMAIL_ALREADY_IN_USE = '该邮箱已被其他账号使用'
|
||||
RESET_CODE_SENT = '重置密码验证码已发送至邮箱'
|
||||
PASSWORD_RESET_SUCCESS = '密码重置成功'
|
||||
VALIDATION_ERROR = '数据验证失败'
|
||||
NOT_FOUND = '资源不存在'
|
||||
USER_NOT_FOUND = '该邮箱未注册'
|
||||
CAPTCHA_ERROR = '验证码错误'
|
||||
CAPTCHA_EXPIRED = '验证码已过期,请重新获取'
|
||||
CAPTCHA_REQUIRED = '操作过于频繁,请输入验证码'
|
||||
EMAIL_DOMAIN_INVALID = '邮箱域名不存在,请输入真实邮箱地址'
|
||||
|
||||
|
||||
def get_response_message(code: ResponseCode) -> str:
|
||||
"""Get the corresponding message for a response code."""
|
||||
return getattr(ResponseMessage, code.name, str(code))
|
||||
|
||||
|
||||
SUCCESS = 200
|
||||
SERVER_INTERNAL_ERROR = 500
|
||||
|
||||
|
||||
def create_standardized_response(data=None, code=None, status_code=200, message=None):
|
||||
"""Create a standardized success response."""
|
||||
from rest_framework.response import Response
|
||||
response_data = {}
|
||||
if data is not None:
|
||||
response_data['data'] = data
|
||||
if code is not None:
|
||||
response_data['code'] = int(code)
|
||||
response_data['message'] = message or get_response_message(code)
|
||||
return Response(response_data, status=status_code)
|
||||
|
||||
|
||||
def create_standardized_error_response(data=None, code=None, status_code=400, message=None):
|
||||
"""Create a standardized error response."""
|
||||
from rest_framework.response import Response
|
||||
response_data = {}
|
||||
if data is not None:
|
||||
response_data['data'] = data
|
||||
if code is not None:
|
||||
response_data['code'] = int(code)
|
||||
response_data['message'] = message or get_response_message(code)
|
||||
else:
|
||||
response_data['message'] = message or 'Unknown error'
|
||||
return Response(response_data, status=status_code)
|
||||
Reference in New Issue
Block a user