from .connection import connect from .ensure_user_assets_schema import ensure_user_assets_schema def create_user_asset(user_id, filename, original_name=None, source="upload", scene_kind=None): """Enregistre une ligne "Mes assets" pour un fichier déjà écrit sur disque (voir user_assets_dir.py) — le fichier lui-même est écrit par l'appelant (route d'upload, ou plus tard la génération IA), cette fonction ne fait que la partie base de données, comme db.create_global_variable pour le reste du moteur. scene_kind ("decor"/"fond", images uniquement — voir routes/scenes/scene_edit_view.py) : décide comment un CLIC sur la tuile pose l'objet (screens/scenes/add_scene_object.py), demande explicite "un bouton d'import séparé pour les images de fond et les objets" — sans distinction, toute image "Mes assets" ne pouvait être posée qu'en "decor", jamais comme fond.""" ensure_user_assets_schema() conn = connect() conn.execute( "INSERT INTO _user_assets (user_id, filename, original_name, source, scene_kind) VALUES (?, ?, ?, ?, ?)", (user_id, filename, original_name, source, scene_kind), ) asset_id = conn.execute("SELECT last_insert_rowid() AS id").fetchone()["id"] conn.commit() conn.close() return asset_id