Add a wildcard provider option

This commit is contained in:
Girish Ramakrishnan
2018-09-12 11:45:07 -07:00
parent 94b079fa7b
commit 4312096dd2
4 changed files with 36 additions and 10 deletions

View File

@@ -8,9 +8,12 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
$scope.config = Client.getConfig();
$scope.domains = [];
$scope.ready = false;
// currently, validation of wildcard with various provider is done server side
$scope.tlsProvider = [
{ name: 'Let\'s Encrypt Prod', value: 'letsencrypt-prod' },
{ name: 'Let\'s Encrypt Wildcard Prod', value: 'letsencrypt-prod-wildcard' },
{ name: 'Let\'s Encrypt Staging', value: 'letsencrypt-staging' },
{ name: 'Let\'s Encrypt Wildcard Staging', value: 'letsencrypt-staging-wildcard' },
{ name: 'Custom Wildcard Certificate', value: 'fallback' },
];
@@ -153,6 +156,9 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
$scope.domainConfigure.provider = domain.provider;
$scope.domainConfigure.tlsConfig.provider = domain.tlsConfig.provider;
if (domain.tlsConfig.provider.indexOf('letsencrypt') === 0) {
if (domain.tlsConfig.wildcard) $scope.domainConfigure.tlsConfig.provider += '-wildcard';
}
$scope.domainConfigure.zoneName = domain.zoneName;
$scope.domainConfigure.hyphenatedSubdomains = !!domain.config.hyphenatedSubdomains;
@@ -216,10 +222,19 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
};
}
var tlsConfig = {
provider: $scope.domainConfigure.tlsConfig.provider,
wildcard: false
};
if ($scope.domainConfigure.tlsConfig.provider.indexOf('-wildcard') !== -1) {
tlsConfig.provider = tlsConfig.provider.replace('-wildcard', '');
tlsConfig.wildcard = true;
}
// 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, $scope.domainConfigure.zoneName, provider, data, fallbackCertificate, $scope.domainConfigure.tlsConfig);
else func = Client.updateDomain.bind(Client, $scope.domainConfigure.domain.domain, $scope.domainConfigure.zoneName, provider, data, fallbackCertificate, $scope.domainConfigure.tlsConfig);
if ($scope.domainConfigure.adding) func = Client.addDomain.bind(Client, $scope.domainConfigure.newDomain, $scope.domainConfigure.zoneName, provider, data, fallbackCertificate, tlsConfig);
else func = Client.updateDomain.bind(Client, $scope.domainConfigure.domain.domain, $scope.domainConfigure.zoneName, provider, data, fallbackCertificate, tlsConfig);
func(function (error) {
$scope.domainConfigure.busy = false;