Skip to content

Commit

Permalink
installed aws and axios dependencies. corrected the getNameservers me…
Browse files Browse the repository at this point in the history
…thods for godaddy and aws
  • Loading branch information
gkpty committed Aug 13, 2020
1 parent 189f098 commit 534120c
Show file tree
Hide file tree
Showing 1,706 changed files with 1,201,279 additions and 19 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.env
37 changes: 20 additions & 17 deletions lib/nameservers/get.js
Original file line number Diff line number Diff line change
@@ -1,40 +1,43 @@
require('dotenv').config()
var AWS = require('aws-sdk');
var route53 = new AWS.Route53({apiVersion: '2014-05-15'});
const axios = require('axios');

//domain must be a string that is a valid domain name
//nameservers must be an array of strings that are valid nameservers

//AWS
function aws(domain){
return new Promise((resolve, reject) => {
let stackName = domain.split('.').join('') + 'Stack'
var params = {
LogicalResourceId: 'HostedZone',
StackName: stackName
DNSName: domain,
MaxItems: '1'
};
cloudformation.describeStackResource(params, (err, data) => {
if (err) reject(err)
else {
var params = {Id: data.StackResourceDetail.PhysicalResourceId}
route53.listHostedZonesByName(params).promise()
.then(res => {
if(res.HostedZones[0].Name === domain+'.') {
let params = {Id: res.HostedZones[0].Id.split('/hostedzone/')[1]}
route53.getHostedZone(params, (err, data) => {
if (err) reject(err);
else resolve(data.DelegationSet.NameServers);
});
}
});
else reject('No hosted zone exists for the given domain')
})
.catch(err => reject(err))
});
}

//GoDaddy
function godaddy(domain){
return new Promise((resolve, reject) => {
var url = `https://api.godaddy.com/v1/domains/${domain}`
const options = {
headers: {
'Authorization': `sso-key ${process.env.GODADDY_API_KEY}:${process.env.GODADDY_SECRET_KEY}`,
'Content-Type': 'application/json'
}
};
var params = {}
axios.get(url, params, options)
.then(res => resolve(res.nameServers))
//var params = {}
axios.get(url, {headers: {
'Authorization': `sso-key ${process.env.GODADDY_API_KEY}:${process.env.GODADDY_SECRET_KEY}`,
'Content-Type': 'application/json'
}})
.then(res => resolve(res.data.nameServers))
.catch(err => reject(err))
})
}
Expand Down
1 change: 1 addition & 0 deletions node_modules/.bin/uuid

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4,152 changes: 4,152 additions & 0 deletions node_modules/aws-sdk/CHANGELOG.md

Large diffs are not rendered by default.

202 changes: 202 additions & 0 deletions node_modules/aws-sdk/LICENSE.txt

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions node_modules/aws-sdk/NOTICE.txt

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 534120c

Please sign in to comment.