diff --git a/api/app/controllers/app_controller.py b/api/app/controllers/app_controller.py index d6c71f37..85493500 100644 --- a/api/app/controllers/app_controller.py +++ b/api/app/controllers/app_controller.py @@ -193,7 +193,7 @@ def delete_app( @cur_workspace_access_guard() def copy_app( app_id: uuid.UUID, - new_name: Optional[str] = None, + payload: app_schema.CopyAppRequest = None, db: Session = Depends(get_db), current_user=Depends(get_current_user), ): @@ -205,6 +205,7 @@ def copy_app( - 不影响原应用 """ workspace_id = current_user.current_workspace_id + new_name = payload.new_name if payload else None logger.info( "用户请求复制应用", extra={ diff --git a/api/app/schemas/app_schema.py b/api/app/schemas/app_schema.py index b63c73f5..8bfedd5a 100644 --- a/api/app/schemas/app_schema.py +++ b/api/app/schemas/app_schema.py @@ -525,6 +525,13 @@ class AppRelease(BaseModel): return int(dt.timestamp() * 1000) if dt else None +# ---------- App Copy Schema ---------- + +class CopyAppRequest(BaseModel): + """复制应用请求""" + new_name: Optional[str] = Field(None, description="新应用名称,不填则使用原名称-副本") + + # ---------- App Share Schemas ---------- class AppShareCreate(BaseModel):