diff --git a/src/js/client.js b/src/js/client.js index 6af822fce..2d3ffa41d 100644 --- a/src/js/client.js +++ b/src/js/client.js @@ -1195,18 +1195,7 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout }); }; - Client.prototype.setup = function (domain, zoneName, provider, config, tlsConfig, sysinfoConfig, callback) { - var data = { - dnsConfig: { - domain: domain, - zoneName: zoneName, - provider: provider, - config: config, - tlsConfig: tlsConfig - }, - sysinfoConfig: sysinfoConfig - }; - + Client.prototype.setup = function (data, callback) { post('/api/v1/cloudron/setup', data, null, function (error, data, status) { if (error) return callback(error); if (status !== 200) return callback(new ClientError(status, data)); diff --git a/src/js/setupdns.js b/src/js/setupdns.js index 0dbcf6086..b5f41188a 100644 --- a/src/js/setupdns.js +++ b/src/js/setupdns.js @@ -148,24 +148,23 @@ app.controller('SetupDNSController', ['$scope', '$http', '$timeout', 'Client', f var provider = $scope.dnsCredentials.provider; - var data = { - providerToken: $scope.instanceId, + var config = { hyphenatedSubdomains: $scope.dnsCredentials.hyphenatedSubdomains }; if (provider === 'route53') { - data.accessKeyId = $scope.dnsCredentials.accessKeyId; - data.secretAccessKey = $scope.dnsCredentials.secretAccessKey; + config.accessKeyId = $scope.dnsCredentials.accessKeyId; + config.secretAccessKey = $scope.dnsCredentials.secretAccessKey; } else if (provider === 'gcdns') { try { var serviceAccountKey = JSON.parse($scope.dnsCredentials.gcdnsKey.content); - data.projectId = serviceAccountKey.project_id; - data.credentials = { + config.projectId = serviceAccountKey.project_id; + config.credentials = { client_email: serviceAccountKey.client_email, private_key: serviceAccountKey.private_key }; - if (!data.projectId || !data.credentials || !data.credentials.client_email || !data.credentials.private_key) { + if (!config.projectId || !config.credentials || !config.credentials.client_email || !config.credentials.private_key) { throw 'fields_missing'; } } catch(e) { @@ -174,21 +173,21 @@ app.controller('SetupDNSController', ['$scope', '$http', '$timeout', 'Client', f return; } } else if (provider === 'digitalocean') { - data.token = $scope.dnsCredentials.digitalOceanToken; + config.token = $scope.dnsCredentials.digitalOceanToken; } else if (provider === 'gandi') { - data.token = $scope.dnsCredentials.gandiApiKey; + config.token = $scope.dnsCredentials.gandiApiKey; } else if (provider === 'godaddy') { - data.apiKey = $scope.dnsCredentials.godaddyApiKey; - data.apiSecret = $scope.dnsCredentials.godaddyApiSecret; + config.apiKey = $scope.dnsCredentials.godaddyApiKey; + config.apiSecret = $scope.dnsCredentials.godaddyApiSecret; } else if (provider === 'cloudflare') { - data.email = $scope.dnsCredentials.cloudflareEmail; - data.token = $scope.dnsCredentials.cloudflareToken; + config.email = $scope.dnsCredentials.cloudflareEmail; + config.token = $scope.dnsCredentials.cloudflareToken; } else if (provider === 'namecom') { - data.username = $scope.dnsCredentials.nameComUsername; - data.token = $scope.dnsCredentials.nameComToken; + config.username = $scope.dnsCredentials.nameComUsername; + config.token = $scope.dnsCredentials.nameComToken; } else if (provider === 'namecheap') { - data.token = $scope.dnsCredentials.namecheapApiKey; - data.username = $scope.dnsCredentials.namecheapUsername; + config.token = $scope.dnsCredentials.namecheapApiKey; + config.username = $scope.dnsCredentials.namecheapUsername; } var tlsConfig = { @@ -209,7 +208,19 @@ app.controller('SetupDNSController', ['$scope', '$http', '$timeout', 'Client', f sysinfoConfig.ifname = $scope.sysinfo.ifname; } - Client.setup($scope.dnsCredentials.domain, $scope.dnsCredentials.zoneName, provider, data, tlsConfig, sysinfoConfig, function (error) { + var data = { + dnsConfig: { + domain: $scope.dnsCredentials.domain, + zoneName: $scope.dnsCredentials.zoneName, + provider: provider, + config: config, + tlsConfig: tlsConfig + }, + sysinfoConfig: sysinfoConfig, + providerToken: $scope.instanceId + }; + + Client.setup(data, function (error) { if (error && error.statusCode === 401) { $scope.dnsCredentials.busy = false; $scope.error.ami = 'Wrong instance id provided.';