Viewing File: /usr/local/cpanel/base/sharedjs/zone_editor/views/dnssec_ds_records.js
/*
# zone_editor/views/dnssec_ds_records.js Copyright 2022 cPanel, L.L.C.
# All rights reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
*/
/* global define */
define(
[
"angular",
"lodash",
"cjt/util/locale",
"cjt/util/parse",
"app/services/features",
"cjt/directives/actionButtonDirective",
"cjt/directives/alertList",
"cjt/services/alertService",
"app/services/dnssec",
"uiBootstrap"
],
function(angular, _, LOCALE, PARSE, FeaturesService) {
"use strict";
var MODULE_NAMESPACE = "shared.zoneEditor.views.dnssecDSRecords";
var app = angular.module(MODULE_NAMESPACE, []);
app.controller(
"DnsSecDSRecordsController",
["$scope", "$q", "$routeParams", "DnsSecService", FeaturesService.serviceName, "alertService", "defaultInfo",
function($scope, $q, $routeParams, DnsSecService, Features, alertService, defaultInfo) {
var dnssec = this;
dnssec.domain = $routeParams.domain;
dnssec.keyId = $routeParams.keyid;
dnssec.is_loading = false;
dnssec.loading_error = false;
dnssec.loading_error_message = "";
dnssec.keyContent = {};
dnssec.isRTL = defaultInfo.isRTL;
dnssec.goToInnerView = function(view, keyId) {
return DnsSecService.goToInnerView(view, dnssec.domain, keyId);
};
dnssec.backToListView = function() {
return dnssec.goToInnerView("");
};
dnssec.putOnClipboard = function(text) {
try {
DnsSecService.copyTextToClipboard(text);
alertService.add({
type: "success",
message: LOCALE.maketext("Successfully copied to the clipboard."),
closeable: true,
replace: false,
autoClose: 10000,
group: "zoneEditor"
});
} catch (error) {
alertService.add({
type: "danger",
message: _.escape(error),
closeable: true,
replace: false,
group: "zoneEditor"
});
}
};
function getKeyDetails(keys, keyId) {
var key = {};
keyId = parseInt(keyId);
for (var i = 0, len = keys.length; i < len; i++) {
var tempkey = keys[i];
if (tempkey.key_id === keyId) {
key = {
active: PARSE.parsePerlBoolean(tempkey.active),
algoDesc: tempkey.algo_desc,
algoNum: tempkey.algo_num,
algoTag: tempkey.algo_tag,
flags: tempkey.flags,
keyTag: tempkey.key_tag,
keyId: tempkey.key_id,
bits: tempkey.bits,
bitsMsg: LOCALE.maketext("[quant,_1,bit,bits]", tempkey.bits),
created: (tempkey.created !== void 0 && tempkey.created !== "0") ? LOCALE.local_datetime(tempkey.created, "datetime_format_medium") : LOCALE.maketext("Unknown"),
digests: tempkey.digests.map(function(key) {
return {
algoDesc: key.algo_desc,
algoNum: key.algo_num,
digest: key.digest,
};
})
};
return key;
}
}
return;
}
dnssec.load = function() {
dnssec.is_loading = true;
return DnsSecService.fetch(dnssec.domain)
.then(function(result) {
var content;
if (result.length) {
content = getKeyDetails(result, dnssec.keyId);
}
if (!content) {
dnssec.loading_error = true;
dnssec.loading_error_message = LOCALE.maketext("The [asis,DNSSEC] key you were trying to view does not exist.");
}
dnssec.keyContent = content;
})
.catch(function(error) {
alertService.add({
type: "danger",
message: _.escape(error),
closeable: true,
replace: false,
group: "zoneEditor"
});
})
.finally(function() {
dnssec.is_loading = false;
});
};
dnssec.init = function() {
if (Features.dnssec) {
return dnssec.load();
} else {
dnssec.loading_error = true;
dnssec.loading_error_message = LOCALE.maketext("This feature is not available to your account.");
}
};
dnssec.init();
}
]);
return {
namespace: MODULE_NAMESPACE
};
}
);
Back to Directory
File Manager