feat: 添加系统参数接口

This commit is contained in:
shaohuzhang1 2024-03-21 16:25:09 +08:00
parent a6a76c0dd4
commit ee270a8fa9
3 changed files with 29 additions and 1 deletions

View File

@ -36,6 +36,23 @@ from users.models.user import User, password_encrypt, get_user_dynamics_permissi
user_cache = cache.caches['user_cache']
class SystemSerializer(ApiMixin, serializers.Serializer):
@staticmethod
def get_profile():
version = os.environ.get('MAXKB_VERSION')
return {'version': version}
@staticmethod
def get_response_body_api():
return openapi.Schema(
type=openapi.TYPE_OBJECT,
required=[],
properties={
'version': openapi.Schema(type=openapi.TYPE_STRING, title="系统版本号", description="系统版本号"),
}
)
class LoginSerializer(ApiMixin, serializers.Serializer):
username = serializers.CharField(required=True,
error_messages=ErrMessage.char("用户名"))

View File

@ -4,6 +4,7 @@ from . import views
app_name = "user"
urlpatterns = [
path('profile', views.Profile.as_view()),
path('user', views.User.as_view(), name="profile"),
path('user/list', views.User.Query.as_view()),
path('user/login', views.Login.as_view(), name='login'),

View File

@ -22,12 +22,22 @@ from common.response import result
from smartdoc.settings import JWT_AUTH
from users.serializers.user_serializers import RegisterSerializer, LoginSerializer, CheckCodeSerializer, \
RePasswordSerializer, \
SendEmailSerializer, UserProfile, UserSerializer, UserManageSerializer, UserInstanceSerializer
SendEmailSerializer, UserProfile, UserSerializer, UserManageSerializer, UserInstanceSerializer, SystemSerializer
user_cache = cache.caches['user_cache']
token_cache = cache.caches['token_cache']
class Profile(APIView):
@action(methods=['GET'], detail=False)
@swagger_auto_schema(operation_summary="获取MaxKB相关信息",
operation_id="获取MaxKB相关信息",
responses=result.get_api_response(SystemSerializer.get_response_body_api()),
tags=['系统参数'])
def get(self, request: Request):
return result.success(SystemSerializer.get_profile())
class User(APIView):
authentication_classes = [TokenAuth]