package com.ozs.da.service.task;

import com.ozs.da.entity.PageParams;
import com.ozs.da.entity.ReturnData;
import com.ozs.da.entity.remotedb.MdmInfoColumn;
import com.ozs.da.entity.remotedb.MdmInfoDatabase;
import com.ozs.da.entity.remotedb.MdmInfoTable;
import com.ozs.da.entity.task.JobOperateCmd;
import com.ozs.da.entity.task.Task;
import com.github.pagehelper.Page;

import java.util.List;


/**
 * @author 许明
 * on 2019/3/5.
 * @version 2.0.0
 */
public interface TaskService {

    void addTask(Task task) throws Exception;
    
    void deleteTaskById(String taskId) throws Exception;

    Task getTaskInfoById(String taskId) throws Exception;

    int updateTaskById(Task task) throws Exception;

    ReturnData operateTask(JobOperateCmd jobOperateCmd) throws Exception;

    Page<Task> listTask(PageParams<Task> pageParams) throws Exception;
    
    MdmInfoDatabase database(String id) throws Exception;

    List<MdmInfoTable> listTableByDatabaseId(String databaseId) throws Exception;

    List<MdmInfoDatabase> listOriginal(String resourceName) throws Exception;

    List<MdmInfoDatabase> listDatabase(String resourceName) throws Exception;

    List<MdmInfoColumn> listColumnByTableId(String tableId) throws Exception;
}
