diff --git a/src/addons.js b/src/addons.js index 05ddf4d03..ba0e764eb 100644 --- a/src/addons.js +++ b/src/addons.js @@ -291,7 +291,7 @@ function setupEmail(app, options, callback) { assert.strictEqual(typeof options, 'object'); assert.strictEqual(typeof callback, 'function'); - mail.getAll(function (error, mailDomains) { + mail.getDomains(function (error, mailDomains) { if (error) return callback(error); const mailInDomains = mailDomains.filter(function (d) { return d.enabled; }).map(function (d) { return d.domain; }).join(','); diff --git a/src/appstore.js b/src/appstore.js index 3f9e0834c..c7144316d 100644 --- a/src/appstore.js +++ b/src/appstore.js @@ -164,7 +164,7 @@ function sendAliveStatus(callback) { }); }, function (callback) { - mail.getAll(function (error, result) { + mail.getDomains(function (error, result) { if (error) return callback(new AppstoreError(AppstoreError.INTERNAL_ERROR, error)); mailDomains = result; callback(); diff --git a/src/ldap.js b/src/ldap.js index b8623384a..906e95aae 100644 --- a/src/ldap.js +++ b/src/ldap.js @@ -430,7 +430,7 @@ function authenticateMailbox(req, res, next) { if (error && error.reason === DatabaseError.NOT_FOUND) return next(new ldap.NoSuchObjectError(req.dn.toString())); if (error) return next(new ldap.OperationsError(error.message)); - mail.get(parts[1], function (error, domain) { + mail.getDomain(parts[1], function (error, domain) { if (error && error.reason === MailError.NOT_FOUND) return next(new ldap.NoSuchObjectError(req.dn.toString())); if (error) return next(new ldap.OperationsError(error.message)); diff --git a/src/mail.js b/src/mail.js index 91f091f59..d2feadb66 100644 --- a/src/mail.js +++ b/src/mail.js @@ -3,12 +3,12 @@ exports = module.exports = { getStatus: getStatus, - get: get, - getAll: getAll, + getDomains: getDomains, - add: add, - del: del, - update: update, + getDomain: getDomain, + addDomain: addDomain, + removeDomain: removeDomain, + updateDomain: updateDomain, addDnsRecords: addDnsRecords, @@ -448,7 +448,7 @@ function getStatus(domain, callback) { }; } - get(domain, function (error, result) { + getDomain(domain, function (error, result) { if (error) return callback(error); var checks = [ @@ -480,7 +480,7 @@ function createMailConfig(callback) { debug('createMailConfig: generating mail config'); - maildb.getAll(function (error, mailDomains) { + getDomains(function (error, mailDomains) { if (error) return callback(error); user.getOwner(function (error, owner) { @@ -584,7 +584,7 @@ function restartMail(callback) { }); } -function get(domain, callback) { +function getDomain(domain, callback) { assert.strictEqual(typeof domain, 'string'); assert.strictEqual(typeof callback, 'function'); @@ -596,7 +596,7 @@ function get(domain, callback) { }); } -function getAll(callback) { +function getDomains(callback) { assert.strictEqual(typeof callback, 'function'); maildb.getAll(function (error, results) { @@ -728,7 +728,7 @@ function addDnsRecords(domain, callback) { }); } -function add(domain, callback) { +function addDomain(domain, callback) { assert.strictEqual(typeof domain, 'string'); assert.strictEqual(typeof callback, 'function'); @@ -747,11 +747,11 @@ function add(domain, callback) { } // this is just a way to resync the mail "dns" records via the UI -function update(domain, callback) { +function updateDomain(domain, callback) { assert.strictEqual(typeof domain, 'string'); assert.strictEqual(typeof callback, 'function'); - get(domain, function (error) { + getDomain(domain, function (error) { if (error) return callback(error); addDnsRecords(domain, NOOP_CALLBACK); @@ -760,7 +760,7 @@ function update(domain, callback) { }); } -function del(domain, callback) { +function removeDomain(domain, callback) { assert.strictEqual(typeof domain, 'string'); assert.strictEqual(typeof callback, 'function'); @@ -855,7 +855,7 @@ function sendTestMail(domain, to, callback) { assert.strictEqual(typeof to, 'string'); assert.strictEqual(typeof callback, 'function'); - get(domain, function (error, result) { + getDomain(domain, function (error, result) { if (error) return callback(error); mailer.sendTestMail(result.domain, to); diff --git a/src/mailer.js b/src/mailer.js index ee58ce339..f619586cb 100644 --- a/src/mailer.js +++ b/src/mailer.js @@ -74,7 +74,7 @@ function getMailConfig(callback) { cloudronName = 'Cloudron'; } - mail.getAll(function (error, domains) { + mail.getDomains(function (error, domains) { if (error) return callback(error); if (domains.length === 0) return callback('No domains configured'); diff --git a/src/routes/mail.js b/src/routes/mail.js index 37d3262c4..e94299377 100644 --- a/src/routes/mail.js +++ b/src/routes/mail.js @@ -1,12 +1,11 @@ 'use strict'; exports = module.exports = { - get: get, - - add: add, - getStats: getStats, - update: update, - del: del, + getDomain: getDomain, + addDomain: addDomain, + getDomainStats: getDomainStats, + updateDomain: updateDomain, + removeDomain: removeDomain, getStatus: getStatus, @@ -44,10 +43,10 @@ var assert = require('assert'), var mailProxy = middleware.proxy(url.parse('http://127.0.0.1:2020')); -function get(req, res, next) { +function getDomain(req, res, next) { assert.strictEqual(typeof req.params.domain, 'string'); - mail.get(req.params.domain, function (error, result) { + mail.getDomain(req.params.domain, function (error, result) { if (error && error.reason === MailError.NOT_FOUND) return next(new HttpError(404, error.message)); if (error) return next(new HttpError(500, error)); @@ -55,12 +54,12 @@ function get(req, res, next) { }); } -function add(req, res, next) { +function addDomain(req, res, next) { assert.strictEqual(typeof req.body, 'object'); if (typeof req.body.domain !== 'string') return next(new HttpError(400, 'domain must be a string')); - mail.add(req.body.domain, function (error) { + mail.addDomain(req.body.domain, function (error) { if (error && error.reason === MailError.NOT_FOUND) return next(new HttpError(404, error.message)); if (error && error.reason === MailError.ALREADY_EXISTS) return next(new HttpError(409, 'domain already exists')); if (error) return next(new HttpError(500, error)); @@ -69,7 +68,7 @@ function add(req, res, next) { }); } -function getStats(req, res, next) { +function getDomainStats(req, res, next) { assert.strictEqual(typeof req.params.domain, 'string'); var parsedUrl = url.parse(req.url, true /* parseQueryString */); @@ -82,11 +81,11 @@ function getStats(req, res, next) { mailProxy(req, res, next); } -function update(req, res, next) { +function updateDomain(req, res, next) { assert.strictEqual(typeof req.body, 'object'); assert.strictEqual(typeof req.params.domain, 'string'); - mail.update(req.params.domain, function (error) { + mail.updateDomain(req.params.domain, function (error) { if (error && error.reason === MailError.NOT_FOUND) return next(new HttpError(404, error.message)); if (error) return next(new HttpError(500, error)); @@ -94,10 +93,10 @@ function update(req, res, next) { }); } -function del(req, res, next) { +function removeDomain(req, res, next) { assert.strictEqual(typeof req.params.domain, 'string'); - mail.del(req.params.domain, function (error) { + mail.removeDomain(req.params.domain, function (error) { if (error && error.reason === MailError.NOT_FOUND) return next(new HttpError(404, error.message)); if (error && error.reason === MailError.IN_USE) return next(new HttpError(409, 'Mail domain is still in use. Remove existing mailboxes')); if (error) return next(new HttpError(500, error)); diff --git a/src/routes/test/user-test.js b/src/routes/test/user-test.js index 0db35acab..01b39f5f0 100644 --- a/src/routes/test/user-test.js +++ b/src/routes/test/user-test.js @@ -44,7 +44,7 @@ function setup(done) { database._clear, mailer._clearMailQueue, domains.add.bind(null, DOMAIN_0.domain, DOMAIN_0.zoneName, DOMAIN_0.provider, DOMAIN_0.config, DOMAIN_0.fallbackCertificate, DOMAIN_0.tlsConfig), - mail.add.bind(null, DOMAIN_0.domain) + mail.addDomain.bind(null, DOMAIN_0.domain) ], function (error) { expect(error).to.not.be.ok(); diff --git a/src/server.js b/src/server.js index e13bdeb56..5ca45a6db 100644 --- a/src/server.js +++ b/src/server.js @@ -214,11 +214,11 @@ function initializeExpressSync() { router.post('/api/v1/settings/appstore_config', settingsScope, routes.user.requireAdmin, routes.settings.setAppstoreConfig); // email routes - router.get ('/api/v1/mail/:domain', settingsScope, routes.user.requireAdmin, routes.mail.get); - router.post('/api/v1/mail/:domain', settingsScope, routes.user.requireAdmin, routes.mail.update); - router.post('/api/v1/mail', settingsScope, routes.user.requireAdmin, routes.mail.add); - router.get ('/api/v1/mail/:domain/stats', settingsScope, routes.user.requireAdmin, routes.user.verifyPassword, routes.mail.getStats); - router.del ('/api/v1/mail/:domain', settingsScope, routes.user.requireAdmin, routes.user.verifyPassword, routes.mail.del); + router.get ('/api/v1/mail/:domain', settingsScope, routes.user.requireAdmin, routes.mail.getDomain); + router.post('/api/v1/mail/:domain', settingsScope, routes.user.requireAdmin, routes.mail.updateDomain); + router.post('/api/v1/mail', settingsScope, routes.user.requireAdmin, routes.mail.addDomain); + router.get ('/api/v1/mail/:domain/stats', settingsScope, routes.user.requireAdmin, routes.user.verifyPassword, routes.mail.getDomainStats); + router.del ('/api/v1/mail/:domain', settingsScope, routes.user.requireAdmin, routes.user.verifyPassword, routes.mail.removeDomain); router.get ('/api/v1/mail/:domain/status', settingsScope, routes.user.requireAdmin, routes.mail.getStatus); router.post('/api/v1/mail/:domain/mail_from_validation', settingsScope, routes.user.requireAdmin, routes.mail.setMailFromValidation); router.post('/api/v1/mail/:domain/catch_all', settingsScope, routes.user.requireAdmin, routes.mail.setCatchAllAddress); diff --git a/src/setup.js b/src/setup.js index 826b684e6..e63ee7d0f 100644 --- a/src/setup.js +++ b/src/setup.js @@ -197,7 +197,7 @@ function dnsSetup(adminFqdn, domain, zoneName, provider, dnsConfig, tlsConfig, c async.series([ domains.add.bind(null, domain, zoneName, provider, dnsConfig, null /* cert */, tlsConfig), - mail.add.bind(null, domain) + mail.addDomain.bind(null, domain) ], done); }); } @@ -296,7 +296,7 @@ function restore(backupConfig, backupId, version, callback) { autoprovision, // currently, our suggested restore flow is after a dnsSetup. This re-creates DKIM keys and updates the DNS // for this reason, we have to re-setup DNS after a restore. Once we have a 100% IP based restore, we can skip this - mail.addDnsRecords.bind(null, config.adminDomain()), + mail.addDomain.nsRecords.bind(null, config.adminDomain()), shell.sudo.bind(null, 'restart', [ RESTART_CMD ]) ], function (error) { debug('restore:', error); diff --git a/src/test/digest-test.js b/src/test/digest-test.js index e927a0835..e09947e41 100644 --- a/src/test/digest-test.js +++ b/src/test/digest-test.js @@ -72,7 +72,7 @@ describe('digest', function () { database._clear, settings.initialize, domains.add.bind(null, DOMAIN_0.domain, DOMAIN_0.zoneName, DOMAIN_0.provider, DOMAIN_0.config, DOMAIN_0.fallbackCertificate, DOMAIN_0.tlsConfig), - mail.add.bind(null, DOMAIN_0.domain), + mail.addDomain.bind(null, DOMAIN_0.domain), user.createOwner.bind(null, USER_0.username, USER_0.password, USER_0.email, USER_0.displayName, AUDIT_SOURCE), function (callback) { userdb.getByUsername(USER_0.username, function (error, result) { diff --git a/src/test/mail-test.js b/src/test/mail-test.js index caa62438f..6c410709e 100644 --- a/src/test/mail-test.js +++ b/src/test/mail-test.js @@ -31,7 +31,7 @@ function setup(done) { database.initialize, database._clear, domains.add.bind(null, DOMAIN_0.domain, DOMAIN_0.zoneName, DOMAIN_0.provider, DOMAIN_0.config, DOMAIN_0.fallbackCertificate, DOMAIN_0.tlsConfig), - mail.add.bind(null, DOMAIN_0.domain) + mail.addDomain.bind(null, DOMAIN_0.domain) ], done); } @@ -48,7 +48,7 @@ describe('Mail', function () { describe('values', function () { it('can get default', function (done) { - mail.get(DOMAIN_0.domain, function (error, mailConfig) { + mail.getDomain(DOMAIN_0.domain, function (error, mailConfig) { expect(error).to.be(null); expect(mailConfig.enabled).to.be(false); expect(mailConfig.mailFromValidation).to.be(true); @@ -62,7 +62,7 @@ describe('Mail', function () { mail.setMailFromValidation(DOMAIN_0.domain, false, function (error) { expect(error).to.be(null); - mail.get(DOMAIN_0.domain, function (error, mailConfig) { + mail.getDomain(DOMAIN_0.domain, function (error, mailConfig) { expect(error).to.be(null); expect(mailConfig.mailFromValidation).to.be(false); @@ -75,7 +75,7 @@ describe('Mail', function () { mail.setCatchAllAddress(DOMAIN_0.domain, [ 'user1', 'user2' ], function (error) { expect(error).to.be(null); - mail.get(DOMAIN_0.domain, function (error, mailConfig) { + mail.getDomain(DOMAIN_0.domain, function (error, mailConfig) { expect(error).to.be(null); expect(mailConfig.catchAll).to.eql([ 'user1', 'user2' ]); done(); @@ -89,7 +89,7 @@ describe('Mail', function () { maildb.update(DOMAIN_0.domain, { relay: relay }, function (error) { // skip the mail server verify() expect(error).to.be(null); - mail.get(DOMAIN_0.domain, function (error, mailConfig) { + mail.getDomain(DOMAIN_0.domain, function (error, mailConfig) { expect(error).to.be(null); expect(mailConfig.relay).to.eql(relay); done(); @@ -101,7 +101,7 @@ describe('Mail', function () { mail.setMailEnabled(DOMAIN_0.domain, true, function (error) { expect(error).to.be(null); - mail.get(DOMAIN_0.domain, function (error, mailConfig) { + mail.getDomain(DOMAIN_0.domain, function (error, mailConfig) { expect(error).to.be(null); expect(mailConfig.enabled).to.be(true); done(); diff --git a/src/test/updatechecker-test.js b/src/test/updatechecker-test.js index 82fcfa0d1..a85c47ba0 100644 --- a/src/test/updatechecker-test.js +++ b/src/test/updatechecker-test.js @@ -76,7 +76,7 @@ describe('updatechecker - box - manual (email)', function () { database._clear, settings.initialize, domains.add.bind(null, DOMAIN_0.domain, DOMAIN_0.zoneName, DOMAIN_0.provider, DOMAIN_0.config, DOMAIN_0.fallbackCertificate, DOMAIN_0.tlsConfig), - mail.add.bind(null, DOMAIN_0.domain), + mail.addDomain.bind(null, DOMAIN_0.domain), user.createOwner.bind(null, USER_0.username, USER_0.password, USER_0.email, USER_0.displayName, AUDIT_SOURCE), settings.setBoxAutoupdatePattern.bind(null, constants.AUTOUPDATE_PATTERN_NEVER), settingsdb.set.bind(null, settings.APPSTORE_CONFIG_KEY, JSON.stringify({ userId: 'uid', cloudronId: 'cid', token: 'token' })), @@ -178,7 +178,7 @@ describe('updatechecker - box - automatic (no email)', function () { database.initialize, settings.initialize, domains.add.bind(null, DOMAIN_0.domain, DOMAIN_0.zoneName, DOMAIN_0.provider, DOMAIN_0.config, DOMAIN_0.fallbackCertificate, DOMAIN_0.tlsConfig), - mail.add.bind(null, DOMAIN_0.domain), + mail.addDomain.bind(null, DOMAIN_0.domain), mailer._clearMailQueue, user.createOwner.bind(null, USER_0.username, USER_0.password, USER_0.email, USER_0.displayName, AUDIT_SOURCE), settingsdb.set.bind(null, settings.APPSTORE_CONFIG_KEY, JSON.stringify({ userId: 'uid', cloudronId: 'cid', token: 'token' })) @@ -222,7 +222,7 @@ describe('updatechecker - box - automatic free (email)', function () { database.initialize, settings.initialize, domains.add.bind(null, DOMAIN_0.domain, DOMAIN_0.zoneName, DOMAIN_0.provider, DOMAIN_0.config, DOMAIN_0.fallbackCertificate, DOMAIN_0.tlsConfig), - mail.add.bind(null, DOMAIN_0.domain), + mail.addDomain.bind(null, DOMAIN_0.domain), mailer._clearMailQueue, user.createOwner.bind(null, USER_0.username, USER_0.password, USER_0.email, USER_0.displayName, AUDIT_SOURCE), settingsdb.set.bind(null, settings.APPSTORE_CONFIG_KEY, JSON.stringify({ userId: 'uid', cloudronId: 'cid', token: 'token' })) @@ -292,7 +292,7 @@ describe('updatechecker - app - manual (email)', function () { database._clear, settings.initialize, domains.add.bind(null, DOMAIN_0.domain, DOMAIN_0.zoneName, DOMAIN_0.provider, DOMAIN_0.config, DOMAIN_0.fallbackCertificate, DOMAIN_0.tlsConfig), - mail.add.bind(null, DOMAIN_0.domain), + mail.addDomain.bind(null, DOMAIN_0.domain), mailer._clearMailQueue, appdb.add.bind(null, APP_0.id, APP_0.appStoreId, APP_0.manifest, APP_0.location, APP_0.domain, APP_0.portBindings, APP_0), user.createOwner.bind(null, USER_0.username, USER_0.password, USER_0.email, USER_0.displayName, AUDIT_SOURCE), @@ -408,7 +408,7 @@ describe('updatechecker - app - automatic (no email)', function () { database._clear, settings.initialize, domains.add.bind(null, DOMAIN_0.domain, DOMAIN_0.zoneName, DOMAIN_0.provider, DOMAIN_0.config, DOMAIN_0.fallbackCertificate, DOMAIN_0.tlsConfig), - mail.add.bind(null, DOMAIN_0.domain), + mail.addDomain.bind(null, DOMAIN_0.domain), mailer._clearMailQueue, appdb.add.bind(null, APP_0.id, APP_0.appStoreId, APP_0.manifest, APP_0.location, APP_0.domain, APP_0.portBindings, APP_0), user.createOwner.bind(null, USER_0.username, USER_0.password, USER_0.email, USER_0.displayName, AUDIT_SOURCE), @@ -474,7 +474,7 @@ describe('updatechecker - app - automatic free (email)', function () { database._clear, settings.initialize, domains.add.bind(null, DOMAIN_0.domain, DOMAIN_0.zoneName, DOMAIN_0.provider, DOMAIN_0.config, DOMAIN_0.fallbackCertificate, DOMAIN_0.tlsConfig), - mail.add.bind(null, DOMAIN_0.domain), + mail.addDomain.bind(null, DOMAIN_0.domain), mailer._clearMailQueue, appdb.add.bind(null, APP_0.id, APP_0.appStoreId, APP_0.manifest, APP_0.location, APP_0.domain, APP_0.portBindings, APP_0), user.createOwner.bind(null, USER_0.username, USER_0.password, USER_0.email, USER_0.displayName, AUDIT_SOURCE), diff --git a/src/test/user-test.js b/src/test/user-test.js index 1177eeb0c..ca600b8b2 100644 --- a/src/test/user-test.js +++ b/src/test/user-test.js @@ -78,7 +78,7 @@ function setup(done) { database.initialize, database._clear, domains.add.bind(null, DOMAIN_0.domain, DOMAIN_0.zoneName, DOMAIN_0.provider, DOMAIN_0.config, DOMAIN_0.fallbackCertificate, DOMAIN_0.tlsConfig), - mail.add.bind(null, DOMAIN_0.domain), + mail.addDomain.bind(null, DOMAIN_0.domain), mailer._clearMailQueue ], done); }