add remove
This commit is contained in:
parent
366fd523ae
commit
0aa6f28f85
36
lib/index.js
36
lib/index.js
|
@ -136,10 +136,40 @@ module.exports.create = function (config) {
|
||||||
|
|
||||||
},
|
},
|
||||||
remove: function (data) {
|
remove: function (data) {
|
||||||
var domainname = data.challenge.altname;
|
var ch = data.challenge;
|
||||||
var zone = domainname;
|
|
||||||
|
|
||||||
throw new Error('not supported');
|
var params = {};
|
||||||
|
var zone = ch.dnsZone;
|
||||||
|
// the domain is the first part
|
||||||
|
params['SLD'] = zone.split('.')[0];
|
||||||
|
// the rest of the components are the TLD
|
||||||
|
params['TLD'] = zone.split('.').splice(1).join('.');
|
||||||
|
|
||||||
|
// setting a host record overwrites all existing,
|
||||||
|
// removing a new records means you've have to send back all previous records without removed
|
||||||
|
|
||||||
|
return api('namecheap.domains.dns.getHosts',params).then(function (hostsResponse) {
|
||||||
|
var currentHostRecordsCount = hostsResponse['DomainDNSGetHostsResult'][0]['host'].length;
|
||||||
|
|
||||||
|
for (var i = 0; i < currentHostRecordsCount; i++) {
|
||||||
|
// console.log(hostsResponse['DomainDNSGetHostsResult'][i]['host'][0]);
|
||||||
|
var currentEntry = hostsResponse['DomainDNSGetHostsResult'][0]['host'][i]['$'];
|
||||||
|
if(currentEntry['Address'] != ch.dnsAuthorization){
|
||||||
|
params['HostName'+(i+1)] = currentEntry['Name'];
|
||||||
|
params['RecordType'+(i+1)] = currentEntry['Type'];
|
||||||
|
params['Address'+(i+1)] = currentEntry['Address'];
|
||||||
|
params['TTL'+(i+1)] = currentEntry['TTL'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return api('namecheap.domains.dns.setHosts',params).then(function (setHostResponse) {
|
||||||
|
// console.log('setHost');
|
||||||
|
// console.log(setHostResponse);
|
||||||
|
return true
|
||||||
|
}).catch(function (err) {
|
||||||
|
throw new Error('record did not remove. check subdomain, api key, etc');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
get: function (data) {
|
get: function (data) {
|
||||||
|
|
Loading…
Reference in New Issue