feat(sandbox): integrate ArchiveSandboxStorage into AdvancedChat and Workflow app generators

This commit is contained in:
Harry
2026-01-15 14:33:42 +08:00
parent d650cde323
commit 41baaca21d
8 changed files with 66 additions and 51 deletions

View File

@ -7,7 +7,7 @@ from core.virtual_environment.__base.helpers import execute, with_connection
from core.virtual_environment.__base.virtual_environment import VirtualEnvironment
from extensions.ext_database import db
from extensions.ext_storage import storage
from models.app_asset import AppAssetDraft
from models.app_asset import AppAssets
from ..constants import APP_ASSETS_PATH, APP_ASSETS_ZIP_PATH
from .base import SandboxInitializer
@ -26,7 +26,7 @@ class AppAssetsInitializer(SandboxInitializer):
logger.debug("No published assets for app_id=%s, skipping", self._app_id)
return
zip_key = AppAssetDraft.get_published_storage_key(self._tenant_id, self._app_id, published.id)
zip_key = AppAssets.get_published_storage_key(self._tenant_id, self._app_id, published.id)
try:
zip_data = storage.load_once(zip_key)
except Exception:
@ -73,15 +73,15 @@ class AppAssetsInitializer(SandboxInitializer):
published.id,
)
def _get_latest_published(self) -> AppAssetDraft | None:
def _get_latest_published(self) -> AppAssets | None:
with Session(db.engine) as session:
return (
session.query(AppAssetDraft)
session.query(AppAssets)
.filter(
AppAssetDraft.tenant_id == self._tenant_id,
AppAssetDraft.app_id == self._app_id,
AppAssetDraft.version != AppAssetDraft.VERSION_DRAFT,
AppAssets.tenant_id == self._tenant_id,
AppAssets.app_id == self._app_id,
AppAssets.version != AppAssets.VERSION_DRAFT,
)
.order_by(AppAssetDraft.created_at.desc())
.order_by(AppAssets.created_at.desc())
.first()
)

View File

@ -3,7 +3,7 @@ from io import BytesIO
from core.virtual_environment.__base.helpers import try_execute
from core.virtual_environment.__base.virtual_environment import VirtualEnvironment
from extensions.ext_storage import Storage
from extensions.ext_storage import storage
from .sandbox_storage import SandboxStorage
@ -14,7 +14,7 @@ WORKSPACE_DIR = "."
class ArchiveSandboxStorage(SandboxStorage):
def __init__(self, storage: Storage, tenant_id: str, sandbox_id: str):
def __init__(self, tenant_id: str, sandbox_id: str):
self._storage = storage
self._tenant_id = tenant_id
self._sandbox_id = sandbox_id