mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
134 lines
3.6 KiB
Python
134 lines
3.6 KiB
Python
# coding=utf-8
|
|
from drf_spectacular.types import OpenApiTypes
|
|
from drf_spectacular.utils import OpenApiParameter
|
|
from rest_framework import serializers
|
|
|
|
from common.mixins.api_mixin import APIMixin
|
|
from common.result import ResultSerializer, DefaultResultSerializer
|
|
from models_provider.serializers.model_serializer import ModelModelSerializer, ModelCreateRequest
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
|
|
class ModelCreateResponse(ResultSerializer):
|
|
def get_data(self):
|
|
return ModelModelSerializer()
|
|
|
|
|
|
class ModelListResponse(APIMixin):
|
|
@staticmethod
|
|
def get_response():
|
|
class ModelListResult(ResultSerializer):
|
|
def get_data(self):
|
|
return ModelModelSerializer(many=True)
|
|
|
|
return ModelListResult
|
|
|
|
@staticmethod
|
|
def get_parameters():
|
|
return [OpenApiParameter(
|
|
name="workspace_id",
|
|
description=_("workspace id"),
|
|
type=OpenApiTypes.STR,
|
|
location=OpenApiParameter.PATH,
|
|
required=True,
|
|
),
|
|
OpenApiParameter(
|
|
name="name",
|
|
description=_("model name"),
|
|
type=OpenApiTypes.STR,
|
|
location=OpenApiParameter.QUERY,
|
|
required=False,
|
|
),
|
|
OpenApiParameter(
|
|
name="model_type",
|
|
description=_("model type"),
|
|
type=OpenApiTypes.STR,
|
|
location=OpenApiParameter.QUERY,
|
|
required=False,
|
|
),
|
|
OpenApiParameter(
|
|
name="model_name",
|
|
description=_("base model"),
|
|
type=OpenApiTypes.STR,
|
|
location=OpenApiParameter.QUERY,
|
|
required=False,
|
|
),
|
|
OpenApiParameter(
|
|
name="provider",
|
|
description=_("provider"),
|
|
type=OpenApiTypes.STR,
|
|
location=OpenApiParameter.QUERY,
|
|
required=False,
|
|
),
|
|
OpenApiParameter(
|
|
name="create_user",
|
|
description=_("create user"),
|
|
type=OpenApiTypes.STR,
|
|
location=OpenApiParameter.QUERY,
|
|
required=False,
|
|
)
|
|
]
|
|
|
|
|
|
class ModelCreateAPI(APIMixin):
|
|
@staticmethod
|
|
def get_request():
|
|
return ModelCreateRequest
|
|
|
|
@staticmethod
|
|
def get_response():
|
|
return ModelCreateResponse
|
|
|
|
@classmethod
|
|
def get_parameters(cls):
|
|
return [OpenApiParameter(
|
|
name="workspace_id",
|
|
description=_("workspace id"),
|
|
type=OpenApiTypes.STR,
|
|
location=OpenApiParameter.PATH,
|
|
required=True,
|
|
)]
|
|
|
|
|
|
class GetModelApi(APIMixin):
|
|
|
|
@staticmethod
|
|
def get_query_params_api():
|
|
return [OpenApiParameter(
|
|
name="workspace_id",
|
|
description=_("workspace id"),
|
|
type=OpenApiTypes.STR,
|
|
location=OpenApiParameter.PATH,
|
|
required=True,
|
|
), OpenApiParameter(
|
|
name="model_id",
|
|
description=_("model id"),
|
|
type=OpenApiTypes.STR,
|
|
location=OpenApiParameter.PATH,
|
|
required=True,
|
|
)
|
|
]
|
|
@staticmethod
|
|
def get_request():
|
|
return []
|
|
|
|
@staticmethod
|
|
def get_response():
|
|
return ModelCreateResponse
|
|
|
|
|
|
class ModelEditApi(APIMixin):
|
|
@staticmethod
|
|
def get_request():
|
|
return ModelCreateRequest
|
|
|
|
@staticmethod
|
|
def get_response():
|
|
return ModelCreateResponse
|
|
|
|
|
|
class DefaultModelResponse(APIMixin):
|
|
@staticmethod
|
|
def get_response():
|
|
return DefaultResultSerializer()
|