feat: add model setting

This commit is contained in:
wxg0103 2025-04-21 09:10:06 +08:00
parent 16cafec6af
commit d3346deb62
2 changed files with 9 additions and 7 deletions

View File

@ -325,16 +325,18 @@ class ModelSerializer(serializers.Serializer):
create_user = serializers.CharField(required=False, label=_('create user'))
workspace_id = serializers.CharField(required=False, label=_('workspace id'))
def list(self, with_valid):
def list(self, workspace_id, with_valid):
if with_valid:
self.is_valid(raise_exception=True)
query_params = self._build_query_params()
query_params = self._build_query_params(workspace_id)
return self._fetch_models(query_params)
def _build_query_params(self):
def _build_query_params(self, workspace_id):
query_params = {}
for field in ['name', 'model_type', 'model_name', 'provider', 'create_user', 'workspace_id']:
if workspace_id:
query_params['workspace_id'] = workspace_id
for field in ['name', 'model_type', 'model_name', 'provider', 'create_user']:
value = self.data.get(field)
if value is not None:
if field == 'name':

View File

@ -56,11 +56,11 @@ class Model(APIView):
responses=ModelListResponse.get_response(),
tags=[_('Model')])
@has_permissions(PermissionConstants.MODEL_READ.get_workspace_permission())
def get(self, request: Request):
def get(self, request: Request, workspace_id: str):
return result.success(
ModelSerializer.Query(
data={**query_params_to_single_dict(request.query_params)}).list(
with_valid=True))
data={**query_params_to_single_dict(request.query_params)}).list(workspace_id=workspace_id,
with_valid=True))
class Operate(APIView):
authentication_classes = [TokenAuth]