Viewing File: /usr/local/cpanel/base/frontend/jupiter/zone_editor/services/zones.min.js
define(["angular","lodash","cjt/util/locale","cjt/io/api","cjt/io/api2-request","cjt/io/uapi-request","cjt/util/httpStatus","cjt/core","cjt/util/base64","cjt/io/api2","cjt/io/uapi"],(function(e,t,r,n,a,o,i,s,u){"use strict";return e.module("cpanel.zoneEditor.services.zones",[]).factory("Zones",["$q",function(c){var d={};function f(e,t){var r=new o.Class;r.initialize("DNS","mass_edit_zone"),r.addArgument("zone",e),r.addArgument("serial",d.zone_serial_number),t.forEach((function(t){"MX"===t.record_type&&t.dname===e&&(t.dname=t.dname+".")}));var n=t.filter((function(e){return e.is_new})),a=t.filter((function(e){return!e.is_new}));n.forEach((function(e){delete e.is_new})),a.forEach((function(e){delete e.is_new}));var i=n.map((function(e){return JSON.stringify(e)}));r.addArgument("add",i);var s=a.map((function(e){return JSON.stringify(e)}));return r.addArgument("edit",s),d.zoneDefaultTTL=null,d._promise(r).then((function(e){return(e=e.parsedResponse).status?e.status:c.reject(e)})).catch((function(e){return e.status?c.reject(d.request_failure_message(e.status)):c.reject(e.error)}))}return d.zones=[],d.zone_serial_number="",d.zoneDefaultTTL=null,d.generated_domains=[],d._promise=function(e){return c.when(n.promise(e.getRunArguments()))},d.saveRecords=function(e,t){return t[0].from_domain_list?d.fetch(e).then((function(){return t.forEach((function(e){e.ttl=parseInt(d.zoneDefaultTTL,10)})),f(e,t)})):f(e,t)},d.trimTrailingDot=function(e){return e=e.replace(/\.$/,"")},d.fetch=function(e){var t=new o.Class;return t.initialize("DNS","parse_zone"),t.addArgument("zone",e),d._promise(t).then((function(t){var r=t.parsedResponse;if(r.status){for(var n,a,o=[],i=0,s=r.data.length;i<s;i++)if("record"===(a=r.data[i]).type)if("A"===a.record_type||"AAAA"===a.record_type||"ALIAS"===a.record_type||"CAA"===a.record_type||"CNAME"===a.record_type||"MX"===a.record_type||"SRV"===a.record_type||"TXT"===a.record_type){switch(a.txtdata=[],a.name=u.decodeUTF8(a.dname_b64),a.name!==e+"."&&(a.name=a.name+"."+e+"."),a.id_prefix=a.record_type.toLowerCase(),a.data_b64.forEach((function(e){a.txtdata.push(u.decodeUTF8(e))})),a.record_type){case"MX":a.priority=a.txtdata[0],a.exchange=d.trimTrailingDot(a.txtdata[1]);break;case"SRV":a.priority=a.txtdata[0],a.weight=a.txtdata[1],a.port=a.txtdata[2],a.target=d.trimTrailingDot(a.txtdata[3]);break;case"CAA":a.flag=a.txtdata[0],a.tag=a.txtdata[1],a.value=a.txtdata[2];break;case"CNAME":a.record=d.trimTrailingDot(a.txtdata[0]);break;default:a.record=a.txtdata[0]}o.push(a)}else"SOA"===a.record_type&&(a.txtdata=[],a.data_b64.forEach((function(e){a.txtdata.push(u.decodeUTF8(e))})),d.zone_serial_number=a.txtdata[2]);else"control"===a.type&&(n=(n=(n=u.decodeUTF8(a.text_b64)).split(" "))[1],d.zoneDefaultTTL=parseInt(n,10));return{parsedZoneData:o,defaultTTL:n}}return c.reject(r)})).catch((function(e){return e.status?c.reject(d.request_failure_message(e.status)):c.reject(e.error)}))},d.remove_zone_record=function(e,t){return function(e,t,r){var n=new o.Class;return n.initialize("DNS","mass_edit_zone"),n.addArgument("zone",e),n.addArgument("serial",r),n.addArgument("remove",t),d._promise(n).then((function(e){return!!(e=e.parsedResponse).status||c.reject(e)})).catch((function(e){return e.status?c.reject(d.request_failure_message(e.status)):c.reject(e.error)}))}(e,t,d.zone_serial_number)},d.reset_zone=function(e){var t=new a.Class;return t.initialize("ZoneEdit","resetzone"),t.addArgument("domain",e),d._promise(t).then((function(e){return!!(e=e.parsedResponse).status||c.reject(e)})).catch((function(e){return e.status?c.reject(d.request_failure_message(e.status)):c.reject(e.error)}))},d.fetch_generated_domains=function(e,r){if(0===t.keys(d.generated_domains).length||r){var n=new a.Class;return n.initialize("ZoneEdit","fetch_cpanel_generated_domains"),n.addArgument("domain",e),d._promise(n).then((function(e){return e=e.parsedResponse,d.generated_domains=function(e,t){for(var r={},n=0,a=e.length;n<a;n++)e[n][t]&&e[n][t].length>0&&(r[e[n][t]]=!0);return r}(e.data,"domain"),d.generated_domains})).catch((function(e){return c.reject(d.request_failure_message(e.status))}))}return c.when(d.generated_domains)},d.format_zone_name=function(t,r){var n=r;if(!e.isDefined(n)||null===n||""===n)return"";if("."!==r.charAt(r.length-1)&&(n+="."),!e.isDefined(t)||null===t||""===t)return n;var a=t+".";return n.slice(-1*a.length).toLowerCase()!==a.toLowerCase()&&(n+=a),n},d.request_failure_message=function(e){var t=r.maketext("The API request failed with the following error: [_1] - [_2].",e,i.convertHttpStatusToReadable(e));return 401!==e&&403!==e||(t+=" "+r.maketext("Your session may have expired or you logged out of the system. [output,url,_1,Login] again to continue.",s.getLoginPath())),t},d}])}));
Back to Directory
File Manager