import ElineTemplateAPI from "../../../api/restApis/BusinessAPI/ElineTemplateAPI";
import HelperUtil from '../../../utils/HelperUtil'
import Vue from "vue";
import WebSocketService from "../WebSocketService";

// 静态方法
let staticMethods = {
  // 获取所有业务模板
  getAllElineTemplateCollection: function(mutator = () => {}){
    return ElineTemplateAPI.getElineTemplateAPICollection().then(result => {
      if (result.data.result) {
        return result.data.returnValue;
      }else{
        return HelperUtil.returnPromiseRejectObj(result);
      }
    });
  },

  // 添加业务模板
  addElineTemplate: function (elineTemplate) {
    return ElineTemplateAPI.postElineTemplateAPIAdd(elineTemplate).then(result => {
      if (result.data.result) {
      }else{
        return HelperUtil.returnPromiseRejectObj(result);
      }
    });
  },

  // 删除业务模板
  deleteElineTemplates: function (elineTemplateKeyList) {
    return ElineTemplateAPI.deleteElineTemplateAPIDelete(elineTemplateKeyList).then(result => {
      if (result.data.result) {
      }else{
        return HelperUtil.returnPromiseRejectObj(result);
      }
    });
  },

  // 修改业务模板
  modifyElineTemplate: function (elineTemplate) {
    return ElineTemplateAPI.putElineTemplateAPIUpdate(elineTemplate).then(result => {
      if (result.data.result) {
      }else{
        return HelperUtil.returnPromiseRejectObj(result);
      }
    });
  },

  // 条件查询业务模板
  conditionQueryElineTemplate: function (conditionSet) {
    return ElineTemplateAPI.getElineTemplateAPIByCondition(conditionSet).then(result => {
      if (result.data.result) {
        return result.data.returnValue;
      }else{
        return HelperUtil.returnPromiseRejectObj(result);
      }
    });
  },
};

function ElineTemplateService (websocketService = null) {
  return Object.freeze(Object.assign(
    {
      // object methods comes here
    },
    staticMethods
  ))
}
// inject static methods
Object.assign(ElineTemplateService, staticMethods);
export default ElineTemplateService
