2025-04-17 10:01:33 +00:00
|
|
|
# coding=utf-8
|
2025-04-18 09:45:15 +00:00
|
|
|
from drf_spectacular.types import OpenApiTypes
|
|
|
|
|
from drf_spectacular.utils import OpenApiParameter
|
|
|
|
|
from rest_framework import serializers
|
2025-04-17 10:01:33 +00:00
|
|
|
|
|
|
|
|
from common.mixins.api_mixin import APIMixin
|
2025-04-21 02:24:13 +00:00
|
|
|
from common.result import ResultSerializer, DefaultResultSerializer
|
2025-04-18 09:45:15 +00:00
|
|
|
from models_provider.serializers.model_serializer import ModelModelSerializer, ModelCreateRequest
|
|
|
|
|
from django.utils.translation import gettext_lazy as _
|
2025-04-17 10:01:33 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class ModelCreateResponse(ResultSerializer):
|
|
|
|
|
def get_data(self):
|
|
|
|
|
return ModelModelSerializer()
|
|
|
|
|
|
|
|
|
|
|
2025-04-18 09:45:15 +00:00
|
|
|
class ModelListResponse(APIMixin):
|
|
|
|
|
@staticmethod
|
|
|
|
|
def get_response():
|
2025-04-22 02:45:11 +00:00
|
|
|
class ModelListResult(ResultSerializer):
|
|
|
|
|
def get_data(self):
|
2025-05-20 09:14:12 +00:00
|
|
|
return ModelModelSerializer(many=True)
|
2025-04-22 02:45:11 +00:00
|
|
|
|
|
|
|
|
return ModelListResult
|
2025-04-18 09:45:15 +00:00
|
|
|
|
2025-06-09 08:32:16 +00:00
|
|
|
@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,
|
|
|
|
|
)
|
|
|
|
|
]
|
|
|
|
|
|
2025-04-18 09:45:15 +00:00
|
|
|
|
2025-04-17 10:01:33 +00:00
|
|
|
class ModelCreateAPI(APIMixin):
|
|
|
|
|
@staticmethod
|
|
|
|
|
def get_request():
|
|
|
|
|
return ModelCreateRequest
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
def get_response():
|
|
|
|
|
return ModelCreateResponse
|
2025-04-18 09:45:15 +00:00
|
|
|
|
|
|
|
|
@classmethod
|
2025-06-09 08:32:16 +00:00
|
|
|
def get_parameters(cls):
|
2025-04-18 09:45:15 +00:00
|
|
|
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,
|
|
|
|
|
)
|
|
|
|
|
]
|
2025-07-25 10:31:14 +00:00
|
|
|
@staticmethod
|
|
|
|
|
def get_request():
|
|
|
|
|
return []
|
2025-04-18 09:45:15 +00:00
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
def get_response():
|
2025-04-22 02:45:11 +00:00
|
|
|
return ModelCreateResponse
|
2025-04-18 09:45:15 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class ModelEditApi(APIMixin):
|
|
|
|
|
@staticmethod
|
|
|
|
|
def get_request():
|
|
|
|
|
return ModelCreateRequest
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
def get_response():
|
2025-04-22 02:45:11 +00:00
|
|
|
return ModelCreateResponse
|
2025-04-21 02:24:13 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class DefaultModelResponse(APIMixin):
|
|
|
|
|
@staticmethod
|
|
|
|
|
def get_response():
|
|
|
|
|
return DefaultResultSerializer()
|