diff --git a/webadmin/src/js/client.js b/webadmin/src/js/client.js index 82d665261..6ade398e0 100644 --- a/webadmin/src/js/client.js +++ b/webadmin/src/js/client.js @@ -1134,18 +1134,28 @@ angular.module('Application').service('Client', ['$http', '$interval', 'md5', 'N }).error(defaultErrorHandler(callback)); }; + Client.prototype.addMailDomain = function (domain, callback) { + post('/api/v1/mail', { domain: domain }).success(function (data, status) { + if (status !== 201) return callback(new ClientError(status, data)); + callback(null); + }).error(defaultErrorHandler(callback)); // this doesn't call defaultErrorHandler till we fix domains code to use this directly + }; + Client.prototype.addDomain = function (domain, provider, config, fallbackCertificate, callback) { var data = { domain: domain, provider: provider, config: config }; + var that = this; if (fallbackCertificate) data.fallbackCertificate = fallbackCertificate; + // hack until we fix the domains.js post('/api/v1/domains', data).success(function (data, status) { if (status !== 201 || typeof data !== 'object') return callback(new ClientError(status, data)); - callback(null, data); + + that.addMailDomain(domain, callback); }).error(defaultErrorHandler(callback)); }; @@ -1163,6 +1173,22 @@ angular.module('Application').service('Client', ['$http', '$interval', 'md5', 'N }).error(defaultErrorHandler(callback)); }; + Client.prototype.removeMailDomain = function (domain, password, callback) { + var config = { + data: { + password: password + }, + headers: { + 'Content-Type': 'application/json' + } + }; + + del('/api/v1/mail/' + domain, config).success(function (data, status) { + if (status !== 204) return callback(new ClientError(status, data)); + callback(null); + }).error(callback); // this doesn't call defaultErrorHandler since we want to handle 404 + }; + Client.prototype.removeDomain = function (domain, password, callback) { var config = { data: { @@ -1173,10 +1199,13 @@ angular.module('Application').service('Client', ['$http', '$interval', 'md5', 'N } }; - del('/api/v1/domains/' + domain, config).success(function (data, status) { - if (status !== 204) return callback(new ClientError(status, data)); - callback(null); - }).error(defaultErrorHandler(callback)); + this.removeMailDomain(domain, password, function () { + // hack: ignore errors until we fix the domains.js + del('/api/v1/domains/' + domain, config).success(function (data, status) { + if (status !== 204) return callback(new ClientError(status, data)); + callback(null); + }).error(defaultErrorHandler(callback)); + }); }; // Email