diff --git a/apps/modules/urls.py b/apps/modules/urls.py index df6fab81937..286a05a67a2 100644 --- a/apps/modules/urls.py +++ b/apps/modules/urls.py @@ -4,7 +4,6 @@ app_name = "module" urlpatterns = [ - path('workspace///module', views.ModuleView.Create.as_view()), - path('workspace///module', views.ModuleTreeView.as_view()), + path('workspace///module', views.ModuleView.as_view()), path('workspace///module/', views.ModuleView.Operate.as_view()), ] diff --git a/apps/modules/views/module.py b/apps/modules/views/module.py index d7329c04cd2..18311612ac6 100644 --- a/apps/modules/views/module.py +++ b/apps/modules/views/module.py @@ -12,24 +12,36 @@ class ModuleView(APIView): - class Create(APIView): - authentication_classes = [TokenAuth] + authentication_classes = [TokenAuth] - @extend_schema(methods=['POST'], - description=_('Create module'), - operation_id=_('Create module'), - parameters=ModuleCreateAPI.get_parameters(), - request=ModuleCreateAPI.get_request(), - responses=ModuleCreateAPI.get_response(), - tags=[_('Module')]) - @has_permissions(lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.CREATE, - resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}")) - def post(self, request: Request, workspace_id: str, source: str): - return result.success(ModuleSerializer.Create( - data={'user_id': request.user.id, - 'source': source, - 'workspace_id': workspace_id} - ).insert(request.data)) + @extend_schema(methods=['POST'], + description=_('Create module'), + operation_id=_('Create module'), + parameters=ModuleCreateAPI.get_parameters(), + request=ModuleCreateAPI.get_request(), + responses=ModuleCreateAPI.get_response(), + tags=[_('Module')]) + @has_permissions(lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.CREATE, + resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}")) + def post(self, request: Request, workspace_id: str, source: str): + return result.success(ModuleSerializer.Create( + data={'user_id': request.user.id, + 'source': source, + 'workspace_id': workspace_id} + ).insert(request.data)) + + @extend_schema(methods=['GET'], + description=_('Get module tree'), + operation_id=_('Get module tree'), + parameters=ModuleTreeReadAPI.get_parameters(), + responses=ModuleTreeReadAPI.get_response(), + tags=[_('Module')]) + @has_permissions(lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.READ, + resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}")) + def get(self, request: Request, workspace_id: str, source: str): + return result.success(ModuleTreeSerializer( + data={'workspace_id': workspace_id, 'source': source} + ).get_module_tree(request.query_params.get('name'))) class Operate(APIView): authentication_classes = [TokenAuth] @@ -73,20 +85,3 @@ def delete(self, request: Request, workspace_id: str, source: str, module_id: st return result.success(ModuleSerializer.Operate( data={'id': module_id, 'workspace_id': workspace_id, 'source': source} ).delete()) - - -class ModuleTreeView(APIView): - authentication_classes = [TokenAuth] - - @extend_schema(methods=['GET'], - description=_('Get module tree'), - operation_id=_('Get module tree'), - parameters=ModuleTreeReadAPI.get_parameters(), - responses=ModuleTreeReadAPI.get_response(), - tags=[_('Module')]) - @has_permissions(lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.READ, - resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}")) - def get(self, request: Request, workspace_id: str, source: str): - return result.success(ModuleTreeSerializer( - data={'workspace_id': workspace_id, 'source': source} - ).get_module_tree(request.query_params.get('name'))) diff --git a/apps/tools/api/tool.py b/apps/tools/api/tool.py index 183d63deb93..d52dd7920bf 100644 --- a/apps/tools/api/tool.py +++ b/apps/tools/api/tool.py @@ -88,6 +88,6 @@ def get_parameters(): description="模块id", type=OpenApiTypes.STR, location='query', - required=True, + required=False, ) ] diff --git a/apps/tools/urls.py b/apps/tools/urls.py index f1c250448e2..be04b795ccf 100644 --- a/apps/tools/urls.py +++ b/apps/tools/urls.py @@ -4,7 +4,6 @@ app_name = "tool" urlpatterns = [ - path('workspace//tool', views.ToolView.Create.as_view()), - path('workspace//tool', views.ToolTreeView.as_view()), + path('workspace//tool', views.ToolView.as_view()), path('workspace//tool/', views.ToolView.Operate.as_view()), ] diff --git a/apps/tools/views/tool.py b/apps/tools/views/tool.py index a34667faae0..05bd4779dfc 100644 --- a/apps/tools/views/tool.py +++ b/apps/tools/views/tool.py @@ -12,21 +12,32 @@ class ToolView(APIView): - class Create(APIView): - authentication_classes = [TokenAuth] + authentication_classes = [TokenAuth] - @extend_schema(methods=['POST'], - description=_('Create tool'), - operation_id=_('Create tool'), - parameters=ToolCreateAPI.get_parameters(), - request=ToolCreateAPI.get_request(), - responses=ToolCreateAPI.get_response(), - tags=[_('Tool')]) - @has_permissions(PermissionConstants.TOOL_CREATE.get_workspace_permission()) - def post(self, request: Request, workspace_id: str): - return result.success(ToolSerializer.Create( - data={'user_id': request.user.id, 'workspace_id': workspace_id} - ).insert(request.data)) + @extend_schema(methods=['POST'], + description=_('Create tool'), + operation_id=_('Create tool'), + parameters=ToolCreateAPI.get_parameters(), + request=ToolCreateAPI.get_request(), + responses=ToolCreateAPI.get_response(), + tags=[_('Tool')]) + @has_permissions(PermissionConstants.TOOL_CREATE.get_workspace_permission()) + def post(self, request: Request, workspace_id: str): + return result.success(ToolSerializer.Create( + data={'user_id': request.user.id, 'workspace_id': workspace_id} + ).insert(request.data)) + + @extend_schema(methods=['GET'], + description=_('Get tool by module'), + operation_id=_('Get tool by module'), + parameters=ToolTreeReadAPI.get_parameters(), + responses=ToolTreeReadAPI.get_response(), + tags=[_('Tool')]) + @has_permissions(PermissionConstants.TOOL_READ.get_workspace_permission()) + def get(self, request: Request, workspace_id: str): + return result.success(ToolTreeSerializer( + data={'workspace_id': workspace_id} + ).get_tools(request.query_params.get('module_id'))) class Operate(APIView): authentication_classes = [TokenAuth] @@ -69,17 +80,3 @@ def delete(self, request: Request, workspace_id: str, tool_id: str): ).delete()) -class ToolTreeView(APIView): - authentication_classes = [TokenAuth] - - @extend_schema(methods=['GET'], - description=_('Get tool by module'), - operation_id=_('Get tool by module'), - parameters=ToolTreeReadAPI.get_parameters(), - responses=ToolTreeReadAPI.get_response(), - tags=[_('Tool')]) - @has_permissions(PermissionConstants.TOOL_READ.get_workspace_permission()) - def get(self, request: Request, workspace_id: str): - return result.success(ToolTreeSerializer( - data={'workspace_id': workspace_id} - ).get_tools(request.query_params.get('module_id')))