diff --git a/backend/app/api/routers/asset_libraries.py b/backend/app/api/routers/asset_libraries.py index 09f1db9..4777dfc 100644 --- a/backend/app/api/routers/asset_libraries.py +++ b/backend/app/api/routers/asset_libraries.py @@ -4,7 +4,6 @@ import shutil from pathlib import Path from fastapi import APIRouter, Depends, HTTPException, UploadFile, File, Form, status -from fastapi.responses import FileResponse from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy import select from pydantic import BaseModel diff --git a/backend/app/domains/materials/tasks.py b/backend/app/domains/materials/tasks.py index d2865dc..d3df5b1 100644 --- a/backend/app/domains/materials/tasks.py +++ b/backend/app/domains/materials/tasks.py @@ -3,6 +3,7 @@ from __future__ import annotations import json import logging +import os import subprocess import uuid from pathlib import Path @@ -11,7 +12,8 @@ from celery import shared_task logger = logging.getLogger(__name__) -CATALOG_SCRIPT = Path(__file__).parent.parent.parent.parent.parent / "render-worker" / "scripts" / "catalog_assets.py" +# Scripts are copied to /render-scripts/ in the render-worker container (RENDER_SCRIPTS_DIR env var) +CATALOG_SCRIPT = Path(os.environ.get("RENDER_SCRIPTS_DIR", "/render-scripts")) / "catalog_assets.py" @shared_task( @@ -48,7 +50,6 @@ def refresh_asset_library_catalog(self, asset_library_id: str) -> None: return # Determine Blender binary - import os blender_bin = os.environ.get("BLENDER_BIN", "blender") result = subprocess.run( diff --git a/backend/app/models/__init__.py b/backend/app/models/__init__.py index c88e2f4..396dc3f 100644 --- a/backend/app/models/__init__.py +++ b/backend/app/models/__init__.py @@ -11,7 +11,7 @@ from app.domains.orders.models import Order, OrderItem, OrderLine from app.domains.notifications.models import AuditLog from app.domains.billing.models import PricingTier from app.domains.rendering.models import OutputType, RenderTemplate, ProductRenderPosition, WorkflowDefinition, WorkflowRun, WorkflowNodeResult -from app.domains.materials.models import Material, MaterialAlias +from app.domains.materials.models import Material, MaterialAlias, AssetLibrary from app.domains.media.models import MediaAsset, MediaAssetType # Also re-export SystemSetting (no domain assigned — stays as-is) @@ -21,5 +21,5 @@ __all__ = [ "Tenant", "User", "Template", "CadFile", "Product", "Order", "OrderItem", "OrderLine", "AuditLog", "PricingTier", "OutputType", "RenderTemplate", "ProductRenderPosition", "WorkflowDefinition", "WorkflowRun", "WorkflowNodeResult", - "Material", "MaterialAlias", "MediaAsset", "MediaAssetType", "SystemSetting", + "Material", "MaterialAlias", "AssetLibrary", "MediaAsset", "MediaAssetType", "SystemSetting", ]