From 07caf1ffa5b5da5c084ba30aa625628af5bcf4ad Mon Sep 17 00:00:00 2001 From: wxg0103 <727495428@qq.com> Date: Mon, 9 Jun 2025 15:10:13 +0800 Subject: [PATCH] refactor: add share model --- .../serializers/model_serializer.py | 2 +- apps/models_provider/urls.py | 7 +++++-- apps/models_provider/views/model.py | 18 ++++++++++++++++++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/apps/models_provider/serializers/model_serializer.py b/apps/models_provider/serializers/model_serializer.py index a84d8db90..84990ea51 100644 --- a/apps/models_provider/serializers/model_serializer.py +++ b/apps/models_provider/serializers/model_serializer.py @@ -388,4 +388,4 @@ class ModelSerializer(serializers.Serializer): model = QuerySet(Model).filter(id=model_id).first() model.model_params_form = model_params_form model.save() - return True + return True \ No newline at end of file diff --git a/apps/models_provider/urls.py b/apps/models_provider/urls.py index e1e7ed166..cd73f59d4 100644 --- a/apps/models_provider/urls.py +++ b/apps/models_provider/urls.py @@ -12,9 +12,12 @@ urlpatterns = [ path('provider/model_params_form', views.Provide.ModelParamsForm.as_view()), path('provider/model_form', views.Provide.ModelForm.as_view()), path('workspace//model', views.ModelSetting.as_view()), - path('workspace//model//model_params_form', views.ModelSetting.ModelParamsForm.as_view()), + path('workspace//share_model', views.ModelSetting.Share.as_view()), + path('workspace//model//model_params_form', + views.ModelSetting.ModelParamsForm.as_view()), path('workspace//model/', views.ModelSetting.Operate.as_view()), - path('workspace//model//pause_download', views.ModelSetting.PauseDownload.as_view()), + path('workspace//model//pause_download', + views.ModelSetting.PauseDownload.as_view()), path('workspace//model//meta', views.ModelSetting.ModelMeta.as_view()), ] diff --git a/apps/models_provider/views/model.py b/apps/models_provider/views/model.py index 18451a028..c1ecc20d4 100644 --- a/apps/models_provider/views/model.py +++ b/apps/models_provider/views/model.py @@ -210,3 +210,21 @@ class ModelSetting(APIView): def put(self, request: Request, workspace_id: str, model_id: str): return result.success( ModelSerializer.Operate(data={'id': model_id}).pause_download()) + + class Share(APIView): + authentication_classes = [TokenAuth] + + @extend_schema(methods=['Get'], + summary=_('Get Share model'), + description=_('Get Share model'), + operation_id=_('Get Share model'), # type: ignore + parameters=GetModelApi.get_query_params_api(), + request=GetModelApi.get_request(), + responses=DefaultModelResponse.get_response(), + tags=[_('Model')]) # type: ignore + @has_permissions(PermissionConstants.MODEL_READ.get_workspace_permission()) + def get(self, request: Request, workspace_id: str): + return result.success( + ModelSerializer.Query( + data={**query_params_to_single_dict(request.query_params)}).list(workspace_id='None', + with_valid=True))