diff --git a/app/modules/system_settings/ui.py b/app/modules/system_settings/ui.py index ed47f87..edb4398 100644 --- a/app/modules/system_settings/ui.py +++ b/app/modules/system_settings/ui.py @@ -1,4 +1,4 @@ -from __future__ import annotations +from __future__ import annotations from datetime import date, datetime, time, timezone from pathlib import Path @@ -769,7 +769,8 @@ def branch_edit_submit( # ----------------------------- # Phase 7Q.2 - Firm Branding Settings # ----------------------------- -BRANDING_UPLOAD_ROOT = Path("app/ui/static/uploads/branding") +BRANDING_UPLOAD_ROOT = Path("/app/data/storage/uploads/branding") +BRANDING_PUBLIC_PREFIX = "/storage/uploads/branding" _ALLOWED_BRANDING_SUFFIXES = {".png", ".jpg", ".jpeg", ".webp", ".ico", ".svg"} _HEX_COLOR_RE = re.compile(r"^#[0-9a-fA-F]{6}$") @@ -846,7 +847,7 @@ async def _save_branding_upload(upload: UploadFile | None, *, tenant_id: int, ki filename = f"{kind}_{uuid4().hex}{suffix}" path = folder / filename path.write_bytes(data) - return "/static/uploads/branding/" + f"tenant_{tenant_id}/{filename}" + return f"{BRANDING_PUBLIC_PREFIX}/tenant_{tenant_id}/{filename}" @router.get("/branding") @@ -1491,3 +1492,4 @@ def switch_active_branch(request: Request, branch_id: int): return _redirect_back(request) finally: db.close() + diff --git a/app/ui/app.py b/app/ui/app.py index d2a41da..8a70815 100644 --- a/app/ui/app.py +++ b/app/ui/app.py @@ -1,4 +1,4 @@ -from fastapi import FastAPI +from fastapi import FastAPI from fastapi.staticfiles import StaticFiles from app.modules.clients.ui import router as clients_ui_router, portal_router as client_portal_router @@ -28,6 +28,7 @@ from app.ui.routes.auth import router as auth_router def mount_ui(app: FastAPI) -> None: app.mount("/static", StaticFiles(directory="app/ui/static"), name="static") + app.mount("/storage", StaticFiles(directory="/app/data/storage"), name="storage") app.include_router(marketplace_public_router) app.include_router(auth_router) app.include_router(system_settings_router) @@ -55,3 +56,4 @@ def mount_ui(app: FastAPI) -> None: app.include_router(engagements_ui_router) app.include_router(client_portal_router) app.include_router(consultant_portal_router) +