From 63ba7646c131bb69c376bc087c5383836f5947a5 Mon Sep 17 00:00:00 2001 From: Wu Clan Date: Tue, 20 May 2025 19:45:22 +0800 Subject: [PATCH] Update the build plugin api params (#615) * Update the build plugin api params * update seek * fix lint --- backend/app/admin/api/v1/sys/plugin.py | 7 +++---- backend/app/admin/service/plugin_service.py | 1 + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/app/admin/api/v1/sys/plugin.py b/backend/app/admin/api/v1/sys/plugin.py index 9214102e..0d12e5c2 100644 --- a/backend/app/admin/api/v1/sys/plugin.py +++ b/backend/app/admin/api/v1/sys/plugin.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- from typing import Annotated, Any -from fastapi import APIRouter, Depends, File, UploadFile +from fastapi import APIRouter, Depends, File, Path, UploadFile from fastapi.params import Query from starlette.responses import StreamingResponse @@ -84,16 +84,15 @@ async def update_plugin_status(plugin: Annotated[str, Query(description='插件 @router.get( - '/zip', + '/zip/{plugin}', summary='打包插件', dependencies=[ Depends(RequestPermission('sys:plugin:zip')), DependsRBAC, ], ) -async def build_plugin(plugin: Annotated[str, Query(description='插件名称')]) -> StreamingResponse: +async def build_plugin(plugin: Annotated[str, Path(description='插件名称')]) -> StreamingResponse: bio = await plugin_service.build(plugin=plugin) - bio.seek(0) return StreamingResponse( bio, media_type='application/x-zip-compressed', diff --git a/backend/app/admin/service/plugin_service.py b/backend/app/admin/service/plugin_service.py index d15a42e1..217d2e91 100644 --- a/backend/app/admin/service/plugin_service.py +++ b/backend/app/admin/service/plugin_service.py @@ -184,6 +184,7 @@ class PluginService: arcname = os.path.relpath(file_path, start=plugin_dir) zf.write(file_path, arcname) + bio.seek(0) return bio