-
-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Expand file tree
/
Copy pathdefaults.js
More file actions
64 lines (58 loc) · 1.87 KB
/
defaults.js
File metadata and controls
64 lines (58 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import { nullParser } from './Options/parsers';
const { ParseServerOptions, DatabaseOptions } = require('./Options/Definitions');
const logsFolder = (() => {
let folder = './logs/';
if (typeof process !== 'undefined' && process.env.TESTING === '1') {
folder = './test_logs/';
}
if (process.env.PARSE_SERVER_LOGS_FOLDER) {
folder = nullParser(process.env.PARSE_SERVER_LOGS_FOLDER);
}
return folder;
})();
const { verbose, level } = (() => {
const verbose = process.env.VERBOSE ? true : false;
return { verbose, level: verbose ? 'verbose' : undefined };
})();
const DefinitionDefaults = Object.keys(ParseServerOptions).reduce((memo, key) => {
const def = ParseServerOptions[key];
if (Object.prototype.hasOwnProperty.call(def, 'default')) {
memo[key] = def.default;
}
return memo;
}, {});
const computedDefaults = {
jsonLogs: process.env.JSON_LOGS || false,
logsFolder,
verbose,
level,
};
export default Object.assign({}, DefinitionDefaults, computedDefaults);
export const DefaultMongoURI = DefinitionDefaults.databaseURI;
export const DatabaseOptionDefaults = Object.keys(DatabaseOptions).reduce((memo, key) => {
const def = DatabaseOptions[key];
if (Object.prototype.hasOwnProperty.call(def, 'default')) {
memo[key] = def.default;
}
return memo;
}, {});
// Parse Server-specific database options that should be filtered out
// before passing to MongoDB client
export const ParseServerDatabaseOptions = [
'allowPublicExplain',
'batchSize',
'clientMetadata',
'createIndexAuthDataUniqueness',
'createIndexRoleName',
'createIndexUserEmail',
'createIndexUserEmailCaseInsensitive',
'createIndexUserEmailVerifyToken',
'createIndexUserPasswordResetToken',
'createIndexUserUsername',
'createIndexUserUsernameCaseInsensitive',
'disableIndexFieldValidation',
'enableSchemaHooks',
'logClientEvents',
'maxTimeMS',
'schemaCacheTtl',
];