From e4f02baf1755ae0d5d02b18c22bf2af7a87b4dd5 Mon Sep 17 00:00:00 2001 From: -LAN- Date: Thu, 13 Mar 2025 16:45:01 +0800 Subject: [PATCH] feat: add app_mode field to app import and model definitions Signed-off-by: -LAN- --- api/fields/app_fields.py | 1 + api/models/model.py | 2 +- api/services/app_dsl_service.py | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/api/fields/app_fields.py b/api/fields/app_fields.py index eaf684f16a..f42364f110 100644 --- a/api/fields/app_fields.py +++ b/api/fields/app_fields.py @@ -204,6 +204,7 @@ app_import_fields = { "id": fields.String, "status": fields.String, "app_id": fields.String, + "app_mode": fields.String, "current_dsl_version": fields.String, "imported_dsl_version": fields.String, "error": fields.String, diff --git a/api/models/model.py b/api/models/model.py index bf212e8036..0a5256c335 100644 --- a/api/models/model.py +++ b/api/models/model.py @@ -82,7 +82,7 @@ class App(Base): tenant_id: Mapped[str] = db.Column(StringUUID, nullable=False) name = db.Column(db.String(255), nullable=False) description = db.Column(db.Text, nullable=False, server_default=db.text("''::character varying")) - mode = db.Column(db.String(255), nullable=False) + mode: Mapped[str] = mapped_column(db.String(255), nullable=False) icon_type = db.Column(db.String(255), nullable=True) # image, emoji icon = db.Column(db.String(255)) icon_background = db.Column(db.String(255)) diff --git a/api/services/app_dsl_service.py b/api/services/app_dsl_service.py index 4ddb56981e..d33d277d4b 100644 --- a/api/services/app_dsl_service.py +++ b/api/services/app_dsl_service.py @@ -55,6 +55,7 @@ class Import(BaseModel): id: str status: ImportStatus app_id: Optional[str] = None + app_mode: Optional[str] = None current_dsl_version: str = CURRENT_DSL_VERSION imported_dsl_version: str = "" error: str = "" @@ -220,7 +221,7 @@ class AppDslService: error="App not found", ) - if app.mode not in [AppMode.WORKFLOW.value, AppMode.ADVANCED_CHAT.value]: + if app.mode not in [AppMode.WORKFLOW, AppMode.ADVANCED_CHAT]: return Import( id=import_id, status=ImportStatus.FAILED, @@ -285,6 +286,7 @@ class AppDslService: id=import_id, status=status, app_id=app.id, + app_mode=app.mode, imported_dsl_version=imported_version, ) @@ -351,6 +353,7 @@ class AppDslService: id=import_id, status=ImportStatus.COMPLETED, app_id=app.id, + app_mode=app.mode, current_dsl_version=CURRENT_DSL_VERSION, imported_dsl_version=data.get("version", "0.1.0"), )