package cn.stylefeng.workflow.design.modular.service;

import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.workflow.api.NodeApi;
import cn.stylefeng.workflow.api.entity.design.Node;
import cn.stylefeng.workflow.design.api.NodeActivityServiceApi;
import cn.stylefeng.workflow.design.api.NodeConditionServiceApi;
import cn.stylefeng.workflow.design.api.NodeSubFlowServiceApi;
import cn.stylefeng.workflow.design.modular.pojo.request.NodeRequest;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface NodeService extends IService<Node>, NodeApi, NodeActivityServiceApi, NodeConditionServiceApi, NodeSubFlowServiceApi {

    void add(NodeRequest nodeRequest);

    void del(NodeRequest nodeRequest);

    void edit(NodeRequest nodeRequest);

    Node detail(NodeRequest nodeRequest);

    List<Node> findList(NodeRequest nodeRequest);

    PageResult<Node> findPage(NodeRequest nodeRequest);

    void updateDefinitionNodes(Long definitionId, List<Node> newNodeList);

    Node getDefinitionApplicantNode(Long definitionId);

}