mirror of
https://github.com/langgenius/dify.git
synced 2026-03-10 01:46:14 +08:00
- Introduced AppBundleService for managing app bundle publishing and importing, integrating workflow and asset services. - Added methods for exporting app bundles as ZIP files, including DSL and asset management. - Implemented source zip extraction and validation to enhance asset import processes. - Refactored asset packaging to utilize AssetZipPackager for improved performance and organization. - Enhanced error handling for bundle format and security during import operations.
24 lines
1.1 KiB
Python
24 lines
1.1 KiB
Python
class AssetPaths:
|
|
_BASE = "app_assets"
|
|
|
|
@staticmethod
|
|
def draft_file(tenant_id: str, app_id: str, node_id: str) -> str:
|
|
return f"{AssetPaths._BASE}/{tenant_id}/{app_id}/draft/{node_id}"
|
|
|
|
@staticmethod
|
|
def build_zip(tenant_id: str, app_id: str, assets_id: str) -> str:
|
|
return f"{AssetPaths._BASE}/{tenant_id}/{app_id}/artifacts/{assets_id}.zip"
|
|
|
|
@staticmethod
|
|
def build_resolved_file(tenant_id: str, app_id: str, assets_id: str, node_id: str) -> str:
|
|
return f"{AssetPaths._BASE}/{tenant_id}/{app_id}/artifacts/{assets_id}/resolved/{node_id}"
|
|
|
|
@staticmethod
|
|
def build_skill_artifact_set(tenant_id: str, app_id: str, assets_id: str) -> str:
|
|
return f"{AssetPaths._BASE}/{tenant_id}/{app_id}/artifacts/{assets_id}/skill_artifact_set.json"
|
|
|
|
@staticmethod
|
|
def build_source_zip(tenant_id: str, app_id: str, workflow_id: str) -> str:
|
|
"""Storage key for source assets zip (editable files snapshot at publish time)."""
|
|
return f"{AssetPaths._BASE}/{tenant_id}/{app_id}/sources/{workflow_id}.zip"
|