mirror of
https://github.com/langgenius/dify.git
synced 2026-05-04 09:28:04 +08:00
fix: fix duplicate app lose custom image (#19775)
This commit is contained in:
@ -192,6 +192,7 @@ class AppCopyApi(Resource):
|
||||
parser.add_argument("icon_type", type=str, location="json")
|
||||
parser.add_argument("icon", type=str, location="json")
|
||||
parser.add_argument("icon_background", type=str, location="json")
|
||||
parser.add_argument("icon_url", type=str, location="json")
|
||||
args = parser.parse_args()
|
||||
|
||||
with Session(db.engine) as session:
|
||||
@ -206,6 +207,7 @@ class AppCopyApi(Resource):
|
||||
description=args.get("description"),
|
||||
icon_type=args.get("icon_type"),
|
||||
icon=args.get("icon"),
|
||||
icon_url=args.get("icon_url"),
|
||||
icon_background=args.get("icon_background"),
|
||||
)
|
||||
session.commit()
|
||||
|
||||
@ -100,6 +100,7 @@ class PendingData(BaseModel):
|
||||
description: str | None
|
||||
icon_type: str | None
|
||||
icon: str | None
|
||||
icon_url: str | None
|
||||
icon_background: str | None
|
||||
app_id: str | None
|
||||
|
||||
@ -124,6 +125,7 @@ class AppDslService:
|
||||
description: Optional[str] = None,
|
||||
icon_type: Optional[str] = None,
|
||||
icon: Optional[str] = None,
|
||||
icon_url: Optional[str] = None,
|
||||
icon_background: Optional[str] = None,
|
||||
app_id: Optional[str] = None,
|
||||
) -> Import:
|
||||
@ -248,6 +250,7 @@ class AppDslService:
|
||||
icon_type=icon_type,
|
||||
icon=icon,
|
||||
icon_background=icon_background,
|
||||
icon_url=icon_url,
|
||||
app_id=app_id,
|
||||
)
|
||||
redis_client.setex(
|
||||
@ -288,6 +291,7 @@ class AppDslService:
|
||||
description=description,
|
||||
icon_type=icon_type,
|
||||
icon=icon,
|
||||
icon_url=icon_url,
|
||||
icon_background=icon_background,
|
||||
dependencies=check_dependencies_pending_data,
|
||||
)
|
||||
@ -409,6 +413,7 @@ class AppDslService:
|
||||
description: Optional[str] = None,
|
||||
icon_type: Optional[str] = None,
|
||||
icon: Optional[str] = None,
|
||||
icon_url: Optional[str] = None,
|
||||
icon_background: Optional[str] = None,
|
||||
dependencies: Optional[list[PluginDependency]] = None,
|
||||
) -> App:
|
||||
@ -421,12 +426,12 @@ class AppDslService:
|
||||
|
||||
# Set icon type
|
||||
icon_type_value = icon_type or app_data.get("icon_type")
|
||||
if icon_type_value in ["emoji", "link"]:
|
||||
if icon_type_value in ["emoji", "link", "image"]:
|
||||
icon_type = icon_type_value
|
||||
else:
|
||||
icon_type = "emoji"
|
||||
icon = icon or str(app_data.get("icon", ""))
|
||||
|
||||
icon_url = icon_url or str(app_data.get("icon_url", ""))
|
||||
if app:
|
||||
# Update existing app
|
||||
app.name = name or app_data.get("name", app.name)
|
||||
@ -434,6 +439,7 @@ class AppDslService:
|
||||
app.icon_type = icon_type
|
||||
app.icon = icon
|
||||
app.icon_background = icon_background or app_data.get("icon_background", app.icon_background)
|
||||
app.icon_url = icon_url or app_data.get("icon_url", app.icon_url)
|
||||
app.updated_by = account.id
|
||||
else:
|
||||
if account.current_tenant_id is None:
|
||||
|
||||
Reference in New Issue
Block a user