function _slicedToArray(e,r){return _arrayWithHoles(e)||_iterableToArrayLimit(e,r)||_unsupportedIterableToArray(e,r)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,r){var t;if(e)return"string"==typeof e?_arrayLikeToArray(e,r):"Map"===(t="Object"===(t={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:t)||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,r):void 0}function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function _iterableToArrayLimit(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,a,i,l,o=[],u=!0,c=!1;try{if(i=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;u=!1}else for(;!(u=(n=i.call(t)).done)&&(o.push(n.value),o.length!==r);u=!0);}catch(e){c=!0,a=e}finally{try{if(!u&&null!=t.return&&(l=t.return(),Object(l)!==l))return}finally{if(c)throw a}}return o}}function _arrayWithHoles(e){if(Array.isArray(e))return e}(()=>{function e(e,t,r,n,a,i,l,o){var u=a.url("service/smartrule/smartrules/configurations"),c=e("smartRuleTemplates"),s="list";return 0<_.get(window,"c8y.collections.smartrules",[]).length&&r.warn("In-memory definitions of smart rules are not supported right now."),{list:f,getTemplateForRule:function(r){return f().then(function(e){return _.find(e,{name:r.ruleTemplateName})})},getTemplateByName:function(r){return f().then(function(e){return _.find(e,{name:r})}).then(y)},mustBeAvailable:function(e){return h(e).then(function(e){return e?n.when():n.reject()})},isAvailable:h};function f(){var e={url:u,silentError:0<arguments.length&&void 0!==arguments[0]&&arguments[0]};if(!(1<arguments.length&&void 0!==arguments[1])||arguments[1]){var r=c.get(s);if(r)return n.when(r)}return t(e).then(a.getResData).then(function(e){return _.filter(e,function(e){return!_.includes(l.smartRules.exclude,e.name)})}).then(m).then(function(e){return c.put(s,e),e})}function m(e){var r=[];return e.forEach(function(e){r.push(y(e))}),n.all(r)}function y(r){return h(r.name).then(function(e){return r._active=e,n.when(r)})}function h(e){switch(e){case"sendDashboardsViaEmail":return n.all({systemOption:i.getSystemOptionValue({category:"reportMailer",key:"available"},!1),featureActive:o.isAvailable({name:"feature-dashboard-mailer"})}).then(_.every);case"onAlarmSendSms":return n.all([o.isAvailable({contextPath:"messaging"}),i.detailValue({category:"messaging",key:"provider"})]).then(function(e){var e=_slicedToArray(e,2),r=e[0];return Boolean(r&&e[1])});case"onAlarmEscalateAlarm":return h("onAlarmSendSms");default:return n.when(!0)}}}e.$inject=["$cacheFactory","$http","$log","$q","c8yBase","c8ySettings","c8yConfig","c8yApplication"],angular.module("c8y.smartRules").factory("smartRuleTemplatesSvc",e)})();