-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Expand file tree
/
Copy pathmodel.py
More file actions
133 lines (113 loc) · 3.61 KB
/
model.py
File metadata and controls
133 lines (113 loc) · 3.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# 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()