package com.mortals.flowable.service;


import com.mortals.xhx.common.pdu.api.ApiRespPdu;
import org.flowable.engine.repository.Deployment;
import org.flowable.ui.modeler.domain.Model;

import java.io.InputStream;

/**
 * 流程引擎服务接口
 * 
 * @author: zxfei
 * @date: 2021/8/26 22:32
 */
public interface IFlowableBpmnService {
    /**
     * 导入bpmn模型
     *
     * @param modelId     模型ID
     * @param fileName    文件名称
     * @param modelStream 模型文件流
     * @return
     */
    ApiRespPdu<String> importBpmnModel(String modelId, String fileName, InputStream modelStream);
    /**
     * 发布流程
     * @param modelId 模型id
     * @return
     */
    //ApiRespPdu<String> publishBpmn(String modelId) ;

//    /**
//     * 部署流程
//     *
//     * @param modelInfo 模型的扩展信息
//     * @return
//     */
//    ApiRespPdu<Deployment> deployBpmn(ModelInfo modelInfo);
//
//    /**
//     * 创建初始化BPMN模型
//     * @param modelInfo 参数
//     * @return
//     */
//    ApiRespPdu<Model> createInitBpmn(ModelInfo modelInfo, User  user) ;
//
//    /**
//     * 加载bpmn的xml文件
//     * @param modelId 流程模型id
//     * @return
//     */
//    ModelInfoVo loadBpmnXmlByModelId(String modelId) ;
//    ModelInfoVo loadBpmnXmlByModelKey(String modelKey) ;

    /**
     * 停用
     * @param modelId 流程模型id
     * @return
     */
   // ApiRespPdu<String> stopBpmn(String modelId);
}
