Revert "fix: fix duplicate app lose custom image" (#19995)

This commit is contained in:
crazywoola 2025-05-20 18:42:59 +08:00 committed by GitHub
parent c58678d84d
commit d35d854259
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 7 additions and 19 deletions

View File

@ -192,7 +192,6 @@ class AppCopyApi(Resource):
parser.add_argument("icon_type", type=str, location="json") parser.add_argument("icon_type", type=str, location="json")
parser.add_argument("icon", 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_background", type=str, location="json")
parser.add_argument("icon_url", type=str, location="json")
args = parser.parse_args() args = parser.parse_args()
with Session(db.engine) as session: with Session(db.engine) as session:
@ -207,7 +206,6 @@ class AppCopyApi(Resource):
description=args.get("description"), description=args.get("description"),
icon_type=args.get("icon_type"), icon_type=args.get("icon_type"),
icon=args.get("icon"), icon=args.get("icon"),
icon_url=args.get("icon_url"),
icon_background=args.get("icon_background"), icon_background=args.get("icon_background"),
) )
session.commit() session.commit()

View File

@ -100,7 +100,6 @@ class PendingData(BaseModel):
description: str | None description: str | None
icon_type: str | None icon_type: str | None
icon: str | None icon: str | None
icon_url: str | None
icon_background: str | None icon_background: str | None
app_id: str | None app_id: str | None
@ -125,7 +124,6 @@ class AppDslService:
description: Optional[str] = None, description: Optional[str] = None,
icon_type: Optional[str] = None, icon_type: Optional[str] = None,
icon: Optional[str] = None, icon: Optional[str] = None,
icon_url: Optional[str] = None,
icon_background: Optional[str] = None, icon_background: Optional[str] = None,
app_id: Optional[str] = None, app_id: Optional[str] = None,
) -> Import: ) -> Import:
@ -250,7 +248,6 @@ class AppDslService:
icon_type=icon_type, icon_type=icon_type,
icon=icon, icon=icon,
icon_background=icon_background, icon_background=icon_background,
icon_url=icon_url,
app_id=app_id, app_id=app_id,
) )
redis_client.setex( redis_client.setex(
@ -291,7 +288,6 @@ class AppDslService:
description=description, description=description,
icon_type=icon_type, icon_type=icon_type,
icon=icon, icon=icon,
icon_url=icon_url,
icon_background=icon_background, icon_background=icon_background,
dependencies=check_dependencies_pending_data, dependencies=check_dependencies_pending_data,
) )
@ -413,7 +409,6 @@ class AppDslService:
description: Optional[str] = None, description: Optional[str] = None,
icon_type: Optional[str] = None, icon_type: Optional[str] = None,
icon: Optional[str] = None, icon: Optional[str] = None,
icon_url: Optional[str] = None,
icon_background: Optional[str] = None, icon_background: Optional[str] = None,
dependencies: Optional[list[PluginDependency]] = None, dependencies: Optional[list[PluginDependency]] = None,
) -> App: ) -> App:
@ -426,12 +421,12 @@ class AppDslService:
# Set icon type # Set icon type
icon_type_value = icon_type or app_data.get("icon_type") icon_type_value = icon_type or app_data.get("icon_type")
if icon_type_value in ["emoji", "link", "image"]: if icon_type_value in ["emoji", "link"]:
icon_type = icon_type_value icon_type = icon_type_value
else: else:
icon_type = "emoji" icon_type = "emoji"
icon = icon or str(app_data.get("icon", "")) icon = icon or str(app_data.get("icon", ""))
icon_url = icon_url or str(app_data.get("icon_url", ""))
if app: if app:
# Update existing app # Update existing app
app.name = name or app_data.get("name", app.name) app.name = name or app_data.get("name", app.name)
@ -439,7 +434,6 @@ class AppDslService:
app.icon_type = icon_type app.icon_type = icon_type
app.icon = icon app.icon = icon
app.icon_background = icon_background or app_data.get("icon_background", app.icon_background) 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 app.updated_by = account.id
else: else:
if account.current_tenant_id is None: if account.current_tenant_id is None:

View File

@ -111,16 +111,14 @@ const AppCard = ({ app, onRefresh }: AppCardProps) => {
} }
}, [app.id, mutateApps, notify, onRefresh, t]) }, [app.id, mutateApps, notify, onRefresh, t])
const onCopy: DuplicateAppModalProps['onConfirm'] = async ({ name, icon_type, icon, icon_background, icon_url }) => { const onCopy: DuplicateAppModalProps['onConfirm'] = async ({ name, icon_type, icon, icon_background }) => {
try { try {
console.log('icon_url', icon_url)
const newApp = await copyApp({ const newApp = await copyApp({
appID: app.id, appID: app.id,
name, name,
icon_type, icon_type,
icon, icon,
icon_background, icon_background,
icon_url,
mode: app.mode, mode: app.mode,
}) })
setShowDuplicateModal(false) setShowDuplicateModal(false)

View File

@ -24,7 +24,6 @@ export type DuplicateAppModalProps = {
onConfirm: (info: { onConfirm: (info: {
name: string name: string
icon_type: AppIconType icon_type: AppIconType
icon_url?: string | null
icon: string icon: string
icon_background?: string | null icon_background?: string | null
}) => Promise<void> }) => Promise<void>
@ -64,7 +63,6 @@ const DuplicateAppModal = ({
name, name,
icon_type: appIcon.type, icon_type: appIcon.type,
icon: appIcon.type === 'emoji' ? appIcon.icon : appIcon.fileId, icon: appIcon.type === 'emoji' ? appIcon.icon : appIcon.fileId,
icon_url: appIcon.type === 'image' ? appIcon.url : undefined,
icon_background: appIcon.type === 'emoji' ? appIcon.background : undefined, icon_background: appIcon.type === 'emoji' ? appIcon.background : undefined,
}) })
onHide() onHide()

View File

@ -21,12 +21,12 @@ export const createApp: Fetcher<AppDetailResponse, { name: string; icon_type?: A
return post<AppDetailResponse>('apps', { body: { name, icon_type, icon, icon_background, mode, description, model_config: config } }) return post<AppDetailResponse>('apps', { body: { name, icon_type, icon, icon_background, mode, description, model_config: config } })
} }
export const updateAppInfo: Fetcher<AppDetailResponse, { appID: string; name: string; icon_type: AppIconType; icon: string; icon_background?: string; icon_url?: string; description: string; use_icon_as_answer_icon?: boolean }> = ({ appID, name, icon_type, icon, icon_background, icon_url, description, use_icon_as_answer_icon }) => { export const updateAppInfo: Fetcher<AppDetailResponse, { appID: string; name: string; icon_type: AppIconType; icon: string; icon_background?: string; description: string; use_icon_as_answer_icon?: boolean }> = ({ appID, name, icon_type, icon, icon_background, description, use_icon_as_answer_icon }) => {
return put<AppDetailResponse>(`apps/${appID}`, { body: { name, icon_type, icon, icon_background, icon_url, description, use_icon_as_answer_icon } }) return put<AppDetailResponse>(`apps/${appID}`, { body: { name, icon_type, icon, icon_background, description, use_icon_as_answer_icon } })
} }
export const copyApp: Fetcher<AppDetailResponse, { appID: string; name: string; icon_type: AppIconType; icon: string; icon_background?: string | null; icon_url?: string | null; mode: AppMode; description?: string }> = ({ appID, name, icon_type, icon, icon_background, icon_url, mode, description }) => { export const copyApp: Fetcher<AppDetailResponse, { appID: string; name: string; icon_type: AppIconType; icon: string; icon_background?: string | null; mode: AppMode; description?: string }> = ({ appID, name, icon_type, icon, icon_background, mode, description }) => {
return post<AppDetailResponse>(`apps/${appID}/copy`, { body: { name, icon_type, icon, icon_background, icon_url, mode, description } }) return post<AppDetailResponse>(`apps/${appID}/copy`, { body: { name, icon_type, icon, icon_background, mode, description } })
} }
export const exportAppConfig: Fetcher<{ data: string }, { appID: string; include?: boolean }> = ({ appID, include = false }) => { export const exportAppConfig: Fetcher<{ data: string }, { appID: string; include?: boolean }> = ({ appID, include = false }) => {