mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 10:12:51 +00:00
86 lines
2.8 KiB
Python
86 lines
2.8 KiB
Python
# coding=utf-8
|
|
from drf_spectacular.types import OpenApiTypes
|
|
from drf_spectacular.utils import OpenApiParameter
|
|
|
|
from common.mixins.api_mixin import APIMixin
|
|
from common.result import ResultSerializer
|
|
from rest_framework import serializers
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
|
|
class ProvideResponse(ResultSerializer):
|
|
def get_data(self):
|
|
return ProvideSerializer()
|
|
|
|
|
|
class ProvideSerializer(serializers.Serializer):
|
|
name = serializers.CharField(required=True, max_length=64, label=_("model name"))
|
|
provider = serializers.CharField(required=True, label=_("provider"))
|
|
icon = serializers.CharField(required=True, label=_("icon"))
|
|
|
|
|
|
class ProvideListSerializer(serializers.Serializer):
|
|
key = serializers.CharField(required=True, max_length=64, label=_("model name"))
|
|
value = serializers.CharField(required=True, label=_("value"))
|
|
|
|
|
|
class ModelListSerializer(serializers.Serializer):
|
|
name = serializers.CharField(required=True, label=_("model name"))
|
|
model_type = serializers.CharField(required=True, label=_("model type"))
|
|
desc = serializers.CharField(required=True, label=_("model name"))
|
|
|
|
|
|
class ProvideApi(APIMixin):
|
|
class ModelList(APIMixin):
|
|
@staticmethod
|
|
def get_query_params_api():
|
|
return [OpenApiParameter(
|
|
# 参数的名称是done
|
|
name="model_type",
|
|
# 对参数的备注
|
|
description="model_type",
|
|
# 指定参数的类型
|
|
type=OpenApiTypes.STR,
|
|
location=OpenApiParameter.QUERY,
|
|
# 指定必须给
|
|
required=False,
|
|
), OpenApiParameter(
|
|
# 参数的名称是done
|
|
name="provider",
|
|
# 对参数的备注
|
|
description="provider",
|
|
# 指定参数的类型
|
|
type=OpenApiTypes.STR,
|
|
location=OpenApiParameter.QUERY,
|
|
# 指定必须给
|
|
required=True,
|
|
)
|
|
]
|
|
|
|
@staticmethod
|
|
def get_response():
|
|
return serializers.ListSerializer(child=ModelListSerializer())
|
|
|
|
@staticmethod
|
|
def get_response():
|
|
return ProvideResponse
|
|
|
|
class ModelTypeList(APIMixin):
|
|
@staticmethod
|
|
def get_query_params_api():
|
|
return [OpenApiParameter(
|
|
# 参数的名称是done
|
|
name="provider",
|
|
# 对参数的备注
|
|
description="provider",
|
|
# 指定参数的类型
|
|
type=OpenApiTypes.STR,
|
|
location=OpenApiParameter.QUERY,
|
|
# 指定必须给
|
|
required=True,
|
|
)]
|
|
|
|
@staticmethod
|
|
def get_response():
|
|
return serializers.ListSerializer(child=ProvideListSerializer())
|