@windingtree/wt-search-api
Version:
NodeJS app that enables quick search over data from Winding Tree platform
38 lines (35 loc) • 1 kB
JavaScript
const knex = require('knex');
const convertEnvVarToBoolean = (val, defaults) => {
if (val === undefined) {
return defaults;
}
switch (val.toLowerCase().trim()) {
case '1':
case 'true':
case 'yes':
return true;
case '0':
case 'false':
case 'no':
return false;
default:
return defaults;
}
};
module.exports = {
port: process.env.PORT,
baseUrl: process.env.BASE_URL,
readApiUrl: process.env.READ_API_URL,
db: knex({
client: process.env.DB_CLIENT,
connection: JSON.parse(process.env.DB_CLIENT_OPTIONS || '{}'),
useNullAsDefault: true,
}),
defaultPageSize: process.env.DEFAULT_PAGE_SIZE || 30,
maxPageSize: process.env.MAX_PAGE_SIZE || 300,
sync: {
// Perform complete resync once per hour. Set to `null` if no periodic syncing is desired.
interval: process.env.SYNC_INTERVAL || 1000 * 60 * 60,
initial: convertEnvVarToBoolean(process.env.SYNC_INITIAL, true), // Perform the initial sync immediately after server start?
},
};