Add domains.provider
This commit is contained in:
@@ -734,8 +734,15 @@ angular.module('Application').service('Client', ['$http', '$interval', 'md5', 'N
|
||||
}).error(defaultErrorHandler(callback));
|
||||
};
|
||||
|
||||
Client.prototype.setupDnsConfig = function (dnsConfig, callback) {
|
||||
post('/api/v1/cloudron/dns_setup', dnsConfig).success(function(data, status) {
|
||||
Client.prototype.setupDnsConfig = function (domain, zoneName, provider, dnsConfig, callback) {
|
||||
var data = {
|
||||
domain: domain,
|
||||
zoneName: zoneName,
|
||||
provider: provider,
|
||||
config: dnsConfig
|
||||
};
|
||||
|
||||
post('/api/v1/cloudron/dns_setup', data).success(function(data, status) {
|
||||
if (status !== 200) return callback(new ClientError(status, data));
|
||||
callback(null);
|
||||
}).error(defaultErrorHandler(callback));
|
||||
@@ -1192,9 +1199,10 @@ angular.module('Application').service('Client', ['$http', '$interval', 'md5', 'N
|
||||
}).error(defaultErrorHandler(callback));
|
||||
};
|
||||
|
||||
Client.prototype.addDomain = function (domain, config, fallbackCertificate, callback) {
|
||||
Client.prototype.addDomain = function (domain, provider, config, fallbackCertificate, callback) {
|
||||
var data = {
|
||||
domain: domain,
|
||||
provider: provider,
|
||||
config: config
|
||||
};
|
||||
|
||||
@@ -1206,8 +1214,9 @@ angular.module('Application').service('Client', ['$http', '$interval', 'md5', 'N
|
||||
}).error(defaultErrorHandler(callback));
|
||||
};
|
||||
|
||||
Client.prototype.updateDomain = function (domain, config, fallbackCertificate, callback) {
|
||||
Client.prototype.updateDomain = function (domain, provider, config, fallbackCertificate, callback) {
|
||||
var data = {
|
||||
provider: provider,
|
||||
config: config
|
||||
};
|
||||
|
||||
|
||||
@@ -81,23 +81,22 @@ app.controller('SetupDNSController', ['$scope', '$http', '$timeout', 'Client', f
|
||||
$scope.dnsCredentials.error = null;
|
||||
$scope.error = null;
|
||||
|
||||
var provider = $scope.dnsCredentials.provider;
|
||||
|
||||
var data = {
|
||||
domain: $scope.dnsCredentials.domain,
|
||||
zoneName: $scope.explicitZone,
|
||||
provider: $scope.dnsCredentials.provider,
|
||||
providerToken: $scope.instanceId
|
||||
};
|
||||
|
||||
// special case the wildcard provider
|
||||
if (data.provider === 'wildcard') {
|
||||
data.provider = 'manual';
|
||||
if (provider === 'wildcard') {
|
||||
provider = 'manual';
|
||||
data.wildcard = true;
|
||||
}
|
||||
|
||||
if (data.provider === 'route53') {
|
||||
if (provider === 'route53') {
|
||||
data.accessKeyId = $scope.dnsCredentials.accessKeyId;
|
||||
data.secretAccessKey = $scope.dnsCredentials.secretAccessKey;
|
||||
} else if (data.provider === 'gcdns'){
|
||||
} else if (provider === 'gcdns'){
|
||||
try {
|
||||
var serviceAccountKey = JSON.parse($scope.dnsCredentials.gcdnsKey.content);
|
||||
data.projectId = serviceAccountKey.project_id;
|
||||
@@ -114,14 +113,14 @@ app.controller('SetupDNSController', ['$scope', '$http', '$timeout', 'Client', f
|
||||
$scope.dnsCredentials.busy = false;
|
||||
return;
|
||||
}
|
||||
} else if (data.provider === 'digitalocean') {
|
||||
} else if (provider === 'digitalocean') {
|
||||
data.token = $scope.dnsCredentials.digitalOceanToken;
|
||||
} else if (data.provider === 'cloudflare') {
|
||||
} else if (provider === 'cloudflare') {
|
||||
data.email = $scope.dnsCredentials.cloudflareEmail;
|
||||
data.token = $scope.dnsCredentials.cloudflareToken;
|
||||
}
|
||||
|
||||
Client.setupDnsConfig(data, function (error) {
|
||||
Client.setupDnsConfig($scope.dnsCredentials.domain, $scope.explicitZone, provider, data, function (error) {
|
||||
if (error && error.statusCode === 403) {
|
||||
$scope.dnsCredentials.busy = false;
|
||||
$scope.error = 'Wrong instance id provided.';
|
||||
|
||||
@@ -93,20 +93,21 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
|
||||
$scope.domainConfigure.busy = true;
|
||||
$scope.domainConfigure.error = null;
|
||||
|
||||
var provider = $scope.domainConfigure.provider;
|
||||
|
||||
var data = {
|
||||
provider: $scope.domainConfigure.provider
|
||||
};
|
||||
|
||||
// special case the wildcard provider
|
||||
if (data.provider === 'wildcard') {
|
||||
data.provider = 'manual';
|
||||
if (provider === 'wildcard') {
|
||||
provider = 'manual';
|
||||
data.wildcard = true;
|
||||
}
|
||||
|
||||
if (data.provider === 'route53') {
|
||||
if (provider === 'route53') {
|
||||
data.accessKeyId = $scope.domainConfigure.accessKeyId;
|
||||
data.secretAccessKey = $scope.domainConfigure.secretAccessKey;
|
||||
} else if (data.provider === 'gcdns'){
|
||||
} else if (provider === 'gcdns'){
|
||||
try {
|
||||
var serviceAccountKey = JSON.parse($scope.domainConfigure.gcdnsKey.content);
|
||||
data.projectId = serviceAccountKey.project_id;
|
||||
@@ -123,9 +124,9 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
|
||||
$scope.domainConfigure.busy = false;
|
||||
return;
|
||||
}
|
||||
} else if (data.provider === 'digitalocean') {
|
||||
} else if (provider === 'digitalocean') {
|
||||
data.token = $scope.domainConfigure.digitalOceanToken;
|
||||
} else if (data.provider === 'cloudflare') {
|
||||
} else if (provider === 'cloudflare') {
|
||||
data.token = $scope.domainConfigure.cloudflareToken;
|
||||
data.email = $scope.domainConfigure.cloudflareEmail;
|
||||
}
|
||||
@@ -140,8 +141,8 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
|
||||
|
||||
// choose the right api, since we reuse this for adding and configuring domains
|
||||
var func;
|
||||
if ($scope.domainConfigure.adding) func = Client.addDomain.bind(Client, $scope.domainConfigure.newDomain, data, fallbackCertificate);
|
||||
else func = Client.updateDomain.bind(Client, $scope.domainConfigure.domain.domain, data, fallbackCertificate);
|
||||
if ($scope.domainConfigure.adding) func = Client.addDomain.bind(Client, $scope.domainConfigure.newDomain, provider, data, fallbackCertificate);
|
||||
else func = Client.updateDomain.bind(Client, $scope.domainConfigure.domain.domain, provider, data, fallbackCertificate);
|
||||
|
||||
func(function (error) {
|
||||
$scope.domainConfigure.busy = false;
|
||||
|
||||
Reference in New Issue
Block a user