/*
* Copyright (c) 京北方信息技术股份有限公司 Corporation 2022 . All rights reserved.
*
*/
package net.northking.cctp.scriptcase.api.atuScript.service;

import net.northking.cctp.common.db.excel.ExcelService;
import net.northking.cctp.scriptcase.dto.atuScript.atuScriptGroup.*;

import java.util.List;

/**
 * 脚本分组表Restful逻辑接口
 * @author maven-cctp-plugin
 * @since 1.0
 */
public interface AtuScriptGroupApiService extends ExcelService
{
  /**
   * 新增脚本分组表
   *
   * @param dto         接口数据传输对象
   * @return 主键
   */
  String add(AtuScriptGroupAddDto dto);

  /**
   * 更新脚本分组表
   *
   * @param dto         接口数据传输对象
   * @return 修改的记录数量
   */
  Integer updateScriptTree(AtuScriptGroupUpdateDto dto);

  /**
   * 删除脚本目录
   * @param id
   * @return
   */
  Integer deleteScriptTree(String id);

  /**
   * 获取子目录列表
   * @param dto
   * @return
   */
    List<AtuScriptGroupDetailDto> queryChildrenTree(AtuScriptGroupQueryDto dto);

  /**
   * 条件查询脚本目录树
   * @param dto
   * @return
   */
  List<AtuScriptGroupDetailDto> queryScriptTree(AtuScriptGroupQueryDto dto);

  /**
   * 拖拽脚本目录
   * @param dto
   * @return
   */
    Integer moveScriptTree(AtuScriptGroupMoveDto dto);

  /**
   * 条件查询已发布脚本列表
   * @param dto
   * @return
   */
  List<PublishScriptDetailDto> getPublishScriptList(PublishScriptQueryDto dto);
}
