package com.agent.management.service;

import com.agent.management.model.entity.Workflow;

import java.util.List;

public interface WorkflowService {
    List<Workflow> listWorkflows();

    /** 按 name（kebab-case）查询；若 name 是数字字符串且无 kebab-case 匹配，回退按 id 查询 */
    Workflow getWorkflow(String nameOrId);

    /** 仅按内部 Long id 查询（供引擎等内部模块使用） */
    Workflow getWorkflowById(Long id);

    Workflow createWorkflow(String name, String displayName, String description, String mode);

    Workflow updateWorkflow(String nameOrId, String newName, String displayName,
                            String description, String graphData, String mode);

    /** 更新工作流分类（categoryId 为 null 表示取消分类） */
    Workflow updateCategory(String nameOrId, Long categoryId);

    void deleteWorkflow(String nameOrId);
}
