dnsConfig -> domainConfig

this prepares for the incoming settings.getDnsConfig()
This commit is contained in:
Girish Ramakrishnan
2022-01-05 22:41:41 -08:00
parent bbf1a5af3d
commit bf51bc25e9
21 changed files with 342 additions and 342 deletions
+29 -29
View File
@@ -6,7 +6,7 @@ exports = module.exports = {
upsert,
get,
del,
verifyDnsConfig,
verifyDomainConfig,
wait
};
@@ -34,25 +34,25 @@ function injectPrivateFields(newConfig, currentConfig) {
if (newConfig.token === constants.SECRET_PLACEHOLDER) newConfig.token = currentConfig.token;
}
async function getQuery(dnsConfig) {
assert.strictEqual(typeof dnsConfig, 'object');
async function getQuery(domainConfig) {
assert.strictEqual(typeof domainConfig, 'object');
const ip = await sysinfo.getServerIPv4();
return {
ApiUser: dnsConfig.username,
ApiKey: dnsConfig.token,
UserName: dnsConfig.username,
ApiUser: domainConfig.username,
ApiKey: domainConfig.token,
UserName: domainConfig.username,
ClientIp: ip
};
}
function getZone(dnsConfig, zoneName, callback) {
assert.strictEqual(typeof dnsConfig, 'object');
function getZone(domainConfig, zoneName, callback) {
assert.strictEqual(typeof domainConfig, 'object');
assert.strictEqual(typeof zoneName, 'string');
assert.strictEqual(typeof callback, 'function');
util.callbackify(getQuery)(dnsConfig, function (error, query) {
util.callbackify(getQuery)(domainConfig, function (error, query) {
if (error) return callback(error);
query.Command = 'namecheap.domains.dns.getHosts';
@@ -84,13 +84,13 @@ function getZone(dnsConfig, zoneName, callback) {
});
}
function setZone(dnsConfig, zoneName, hosts, callback) {
assert.strictEqual(typeof dnsConfig, 'object');
function setZone(domainConfig, zoneName, hosts, callback) {
assert.strictEqual(typeof domainConfig, 'object');
assert.strictEqual(typeof zoneName, 'string');
assert(Array.isArray(hosts));
assert.strictEqual(typeof callback, 'function');
util.callbackify(getQuery)(dnsConfig, function (error, query) {
util.callbackify(getQuery)(domainConfig, function (error, query) {
if (error) return callback(error);
query.Command = 'namecheap.domains.dns.setHosts';
@@ -145,14 +145,14 @@ function upsert(domainObject, subdomain, type, values, callback) {
assert(Array.isArray(values));
assert.strictEqual(typeof callback, 'function');
const dnsConfig = domainObject.config;
const domainConfig = domainObject.config;
const zoneName = domainObject.zoneName;
subdomain = dns.getName(domainObject, subdomain, type) || '@';
debug('upsert: %s for zone %s of type %s with values %j', subdomain, zoneName, type, values);
getZone(dnsConfig, zoneName, function (error, result) {
getZone(domainConfig, zoneName, function (error, result) {
if (error) return callback(error);
// Array to keep track of records that need to be inserted
@@ -198,7 +198,7 @@ function upsert(domainObject, subdomain, type, values, callback) {
const hosts = result.concat(toInsert);
setZone(dnsConfig, zoneName, hosts, callback);
setZone(domainConfig, zoneName, hosts, callback);
});
}
@@ -208,12 +208,12 @@ function get(domainObject, subdomain, type, callback) {
assert.strictEqual(typeof type, 'string');
assert.strictEqual(typeof callback, 'function');
const dnsConfig = domainObject.config;
const domainConfig = domainObject.config;
const zoneName = domainObject.zoneName;
subdomain = dns.getName(domainObject, subdomain, type) || '@';
getZone(dnsConfig, zoneName, function (error, result) {
getZone(domainConfig, zoneName, function (error, result) {
if (error) return callback(error);
// We need to filter hosts to ones with this subdomain and type
@@ -235,14 +235,14 @@ function del(domainObject, subdomain, type, values, callback) {
assert(Array.isArray(values));
assert.strictEqual(typeof callback, 'function');
const dnsConfig = domainObject.config;
const domainConfig = domainObject.config;
const zoneName = domainObject.zoneName;
subdomain = dns.getName(domainObject, subdomain, type) || '@';
debug('del: %s for zone %s of type %s with values %j', subdomain, zoneName, type, values);
getZone(dnsConfig, zoneName, function (error, result) {
getZone(domainConfig, zoneName, function (error, result) {
if (error) return callback(error);
if (result.length === 0) return callback();
@@ -254,26 +254,26 @@ function del(domainObject, subdomain, type, values, callback) {
result = result.filter(curHost => curHost.Type !== type || curHost.Name !== subdomain || curHost.Address !== curValue);
}
if (result.length !== originalLength) return setZone(dnsConfig, zoneName, result, callback);
if (result.length !== originalLength) return setZone(domainConfig, zoneName, result, callback);
callback();
});
}
function verifyDnsConfig(domainObject, callback) {
function verifyDomainConfig(domainObject, callback) {
assert.strictEqual(typeof domainObject, 'object');
assert.strictEqual(typeof callback, 'function');
const dnsConfig = domainObject.config;
const domainConfig = domainObject.config;
const zoneName = domainObject.zoneName;
const ip = '127.0.0.1';
if (!dnsConfig.username || typeof dnsConfig.username !== 'string') return callback(new BoxError(BoxError.BAD_FIELD, 'username must be a non-empty string', { field: 'username' }));
if (!dnsConfig.token || typeof dnsConfig.token !== 'string') return callback(new BoxError(BoxError.BAD_FIELD, 'token must be a non-empty string', { field: 'token' }));
if (!domainConfig.username || typeof domainConfig.username !== 'string') return callback(new BoxError(BoxError.BAD_FIELD, 'username must be a non-empty string', { field: 'username' }));
if (!domainConfig.token || typeof domainConfig.token !== 'string') return callback(new BoxError(BoxError.BAD_FIELD, 'token must be a non-empty string', { field: 'token' }));
let credentials = {
username: dnsConfig.username,
token: dnsConfig.token
username: domainConfig.username,
token: domainConfig.token
};
if (process.env.BOX_ENV === 'test') return callback(null, credentials); // this shouldn't be here
@@ -283,7 +283,7 @@ function verifyDnsConfig(domainObject, callback) {
if (error || !nameservers) return callback(new BoxError(BoxError.BAD_FIELD, error ? error.message : 'Unable to get nameservers', { field: 'nameservers' }));
if (nameservers.some(function (n) { return n.toLowerCase().indexOf('.registrar-servers.com') === -1; })) {
debug('verifyDnsConfig: %j does not contains NC NS', nameservers);
debug('verifyDomainConfig: %j does not contains NC NS', nameservers);
return callback(new BoxError(BoxError.BAD_FIELD, 'Domain nameservers are not set to NameCheap', { field: 'nameservers' }));
}
@@ -292,12 +292,12 @@ function verifyDnsConfig(domainObject, callback) {
upsert(domainObject, testSubdomain, 'A', [ip], function (error, changeId) {
if (error) return callback(error);
debug('verifyDnsConfig: Test A record added with change id %s', changeId);
debug('verifyDomainConfig: Test A record added with change id %s', changeId);
del(domainObject, testSubdomain, 'A', [ip], function (error) {
if (error) return callback(error);
debug('verifyDnsConfig: Test A record removed again');
debug('verifyDomainConfig: Test A record removed again');
callback(null, credentials);
});