package tech.easyflow.ai.plugin.workflow.binding;

import tech.easyflow.ai.entity.Plugin;

import java.math.BigInteger;

/**
 * 工作流插件绑定服务。
 */
public interface WorkflowPluginBindingService {

    /**
     * 创建工作流插件并生成系统维护工具。
     *
     * @param plugin 插件
     * @return 已保存插件
     */
    Plugin saveWorkflowPlugin(Plugin plugin);

    /**
     * 更新工作流插件并刷新系统维护工具。
     *
     * @param plugin 插件
     * @return 是否更新成功
     */
    boolean updateWorkflowPlugin(Plugin plugin);

    /**
     * 同步某个工作流关联的所有工作流插件。
     *
     * @param workflowId 工作流 ID
     */
    void syncByWorkflowId(BigInteger workflowId);
}
