import os import uuid from .create_user_asset import create_user_asset from .user_assets_dir import user_assets_dir def save_user_asset(user_id, content, ext, original_name=None, source="upload", scene_kind=None): """Écrit `content` (bytes) sur disque + crée la ligne "Mes assets" — factorisé pour être partagé par l'upload manuel (routes/assets/upload_user_asset.py) ET la génération IA (ai/tools.py::_dispatch_add_generated_image), jamais dupliqué entre les deux. Renvoie (asset_id, filename).""" filename = uuid.uuid4().hex + ext asset_dir = user_assets_dir(user_id) os.makedirs(asset_dir, exist_ok=True) with open(os.path.join(asset_dir, filename), "wb") as f: f.write(content) asset_id = create_user_asset(user_id, filename, original_name=original_name, source=source, scene_kind=scene_kind) return asset_id, filename