function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

import { axios } from '@choerodon/boot';
import TemplateApis from "../apis";

var TemplateServices = /*#__PURE__*/function () {
  function TemplateServices() {
    _classCallCheck(this, TemplateServices);
  }

  _createClass(TemplateServices, null, [{
    key: "handleEnabled",
    value: function () {
      var _handleEnabled = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(templateId, type, organizationId) {
        var res;
        return regeneratorRuntime.wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                _context.next = 3;
                return axios.get(TemplateApis.templateEnabled(templateId, type, organizationId));

              case 3:
                res = _context.sent;

                if (!(res && res.failed)) {
                  _context.next = 6;
                  break;
                }

                return _context.abrupt("return", false);

              case 6:
                return _context.abrupt("return", true);

              case 9:
                _context.prev = 9;
                _context.t0 = _context["catch"](0);
                return _context.abrupt("return", false);

              case 12:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, null, [[0, 9]]);
      }));

      function handleEnabled(_x, _x2, _x3) {
        return _handleEnabled.apply(this, arguments);
      }

      return handleEnabled;
    }()
  }, {
    key: "addTemplatePermission",
    value: function () {
      var _addTemplatePermission = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(templateId, organizationId) {
        var res;
        return regeneratorRuntime.wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.prev = 0;
                _context2.next = 3;
                return axios.get(TemplateApis.addTemplatePermission(templateId, organizationId));

              case 3:
                res = _context2.sent;

                if (!(res && res.failed)) {
                  _context2.next = 6;
                  break;
                }

                return _context2.abrupt("return", false);

              case 6:
                return _context2.abrupt("return", true);

              case 9:
                _context2.prev = 9;
                _context2.t0 = _context2["catch"](0);
                return _context2.abrupt("return", false);

              case 12:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2, null, [[0, 9]]);
      }));

      function addTemplatePermission(_x4, _x5) {
        return _addTemplatePermission.apply(this, arguments);
      }

      return addTemplatePermission;
    }()
  }, {
    key: "checkNameOrCode",
    value: function checkNameOrCode(_ref) {
      var type = _ref.type,
          value = _ref.value,
          templateId = _ref.templateId,
          organizationId = _ref.organizationId;
      return axios.get(TemplateApis.checkTemplateNameOrCode({
        type: type,
        value: value,
        templateId: templateId,
        organizationId: organizationId
      }));
    }
  }]);

  return TemplateServices;
}();

export { TemplateServices as default };