package com.yaoai.pipeline.service;

import com.yaoai.domain.entity.ShotAsset;

import java.util.List;
import java.util.Map;

public interface ShotAssetService {

    List<ShotAsset> listByStoryboard(Long storyboardId, Long tenantId);

    ShotAsset activateAsset(Long assetId, Long storyboardId, Long tenantId);

    ShotAsset recordPendingVideoAsset(Long tenantId, Long projectId, Long episodeId, Long storyboardId,
                                      Long taskId, String prompt, String modelProvider, String modelId,
                                      List<String> characterImageKeys, String sceneImageKey,
                                      List<String> propImageKeys, String styleImageKey,
                                      Map<String, Object> meta);

    void markVideoAssetSucceeded(Long tenantId, Long taskId, String videoUrl);

    void markVideoAssetFailed(Long tenantId, Long taskId, String errorMessage);

    void deactivateBySourceTask(Long tenantId, Long taskId);
}
