Merge branch 'master' of github.com:keen-studio/payload

This commit is contained in:
James
2020-11-17 21:00:27 -05:00
6 changed files with 24 additions and 9 deletions

View File

@@ -5,8 +5,13 @@ const mockHandler = require('./mockHandler');
async function buildEmail() {
if (!this.config.email.transport || this.config.email.transport === 'mock') {
logger.info('E-mail configured with mock configuration');
// TODO: Log mock e-mail credentials here as well?
const mockAccount = await mockHandler(this.config.email);
if (this.config.email.transport === 'mock') {
const { account: { web, user, pass } } = mockAccount;
logger.info(`Log into mock email provider at ${web}`);
logger.info(`Mock email account username: ${user}`);
logger.info(`Mock email account password: ${pass}`);
}
return mockAccount;
}

View File

@@ -0,0 +1,10 @@
const httpStatus = require('http-status');
const APIError = require('./APIError');
class InvalidConfiguration extends APIError {
constructor(message, results) {
super(message, httpStatus.INTERNAL_SERVER_ERROR, results);
}
}
module.exports = InvalidConfiguration;

View File

@@ -7,6 +7,7 @@ const errorHandler = require('../express/middleware/errorHandler');
const FileUploadError = require('./FileUploadError');
const Forbidden = require('./Forbidden');
const LockedAuth = require('./LockedAuth');
const InvalidConfiguration = require('./InvalidConfiguration');
const InvalidFieldRelationship = require('./InvalidFieldRelationship');
const MissingCollectionLabel = require('./MissingCollectionLabel');
const MissingFieldInputOptions = require('./MissingFieldInputOptions');
@@ -26,6 +27,7 @@ module.exports = {
FileUploadError,
Forbidden,
LockedAuth,
InvalidConfiguration,
InvalidFieldRelationship,
MissingCollectionLabel,
MissingFieldInputOptions,

View File

@@ -35,6 +35,11 @@ const sanitizeConfig = (config) => {
if (!sanitizedConfig.admin.user) {
sanitizedConfig.admin.user = 'users';
sanitizedConfig.collections.push(defaultUser);
} else if (!sanitizedConfig.collections
.filter((c) => c.auth !== undefined)
.map((c) => c.slug)
.includes(sanitizedConfig.admin.user)) {
throw new InvalidConfiguration(`${sanitizedConfig.admin.user} is not a valid admin user collection`);
}
sanitizedConfig.email = config.email || {};