Improves AdapterLoader, enforces configuraiton on Adapters

This commit is contained in:
Florent Vilmart
2016-02-23 21:05:27 -05:00
parent 8dc37b9d30
commit 0b307bc22f
17 changed files with 176 additions and 109 deletions

View File

@@ -16,11 +16,11 @@ import ParsePushAdapter from './Adapters/Push/ParsePushAdapter';
//import passwordReset from './passwordReset';
import PromiseRouter from './PromiseRouter';
import verifyEmail from './verifyEmail';
import loadAdapter from './Adapters/loadAdapter';
import { AnalyticsRouter } from './Routers/AnalyticsRouter';
import { ClassesRouter } from './Routers/ClassesRouter';
import { FileLoggerAdapter } from './Adapters/Logger/FileLoggerAdapter';
import { FilesController } from './Controllers/FilesController';
import { MailController } from './Controllers/MailController';
import { FilesRouter } from './Routers/FilesRouter';
import { FunctionsRouter } from './Routers/FunctionsRouter';
import { GridStoreAdapter } from './Adapters/Files/GridStoreAdapter';
@@ -30,7 +30,7 @@ import { HooksRouter } from './Routers/HooksRouter';
import { HooksController } from './Controllers/HooksController';
import { InstallationsRouter } from './Routers/InstallationsRouter';
import { AdapterLoader } from './Adapters/AdapterLoader';
import { loadAdapter } from './Adapters/AdapterLoader';
import { LoggerController } from './Controllers/LoggerController';
import { PushController } from './Controllers/PushController';
import { PushRouter } from './Routers/PushRouter';
@@ -79,9 +79,6 @@ let validateEmailConfiguration = (verifyUserEmails, appName, emailAdapter) => {
if (!emailAdapter) {
throw 'User email verification was enabled, but no email adapter was provided';
}
if (typeof emailAdapter.sendVerificationEmail !== 'function') {
throw 'Invalid email adapter: no sendVerificationEmail() function was provided';
}
}
}
@@ -164,11 +161,10 @@ function ParseServer({
appName: appName,
});
if (verifyUserEmails && process.env.PARSE_EXPERIMENTAL_EMAIL_VERIFICATION_ENABLED || process.env.TESTING == 1) {
emailAdapter = loadAdapter(emailAdapter);
validateEmailConfiguration(verifyUserEmails, appName, emailAdapter);
if (verifyUserEmails && (process.env.PARSE_EXPERIMENTAL_EMAIL_VERIFICATION_ENABLED || process.env.TESTING == 1)) {
let mailController = new MailController(loadAdapter(emailAdapter));
cache.apps[appId].mailController = mailController;
cache.apps[appId].verifyUserEmails = verifyUserEmails;
cache.apps[appId].emailAdapter = emailAdapter;
}
// To maintain compatibility. TODO: Remove in some version that breaks backwards compatability