Control sending fees via ENV variable

This commit is contained in:
Bilal Catic
2019-09-10 06:56:02 +02:00
parent 1e2eadba6c
commit 75201dea6d
3 changed files with 16 additions and 6 deletions

View File

@@ -74,6 +74,8 @@ const integrationServiceErrors = {
FAILED_TO_GENERATE_MEMBER_PRACTICE_SUMMARY: 'Failed to generate Member Practice Summary',
ERRORS_IN_MEMBER_PRACTICE_SUMMARY_REPORT: 'Member Practice Summary Report is generated but there were some errors and report may be incomplete',
EXPECTED_MEMBER_IDS_ARRAY: 'Expected array of member IDs',
SENDING_FEES_DISABLED: 'Sending fees is disabled for current and future months',
MONTH_MISSING: 'Missing month selection for sending fees to ORD',
};
const incidentType = {
@@ -129,6 +131,8 @@ const CUSTOM_FEES_PREFIXES = process.env.CUSTOM_FEES_PREFIXES.split(',')
const UNPAID_FEE_STATUS = 'not_paid';
const ALLOW_SENDING_FEES = parseInt(process.env.ALLOW_SENDING_FEES_FOR_CURRENT_AND_FUTURE_MONTHS) ? true : false;
module.exports = {
VALID_CSV_HEADERS,
USER_ENTRY_EVENT,
@@ -153,4 +157,5 @@ module.exports = {
DISCOUNT_PLANS,
UNPAID_FEE_STATUS,
CUSTOM_FEES_PREFIXES,
ALLOW_SENDING_FEES,
};

View File

@@ -10,7 +10,7 @@ const { reformatMembershipsName } = require('../services/officeRnD/memberships')
const { checkBookingChanges } = require('../services/integration/checkBookingChange');
const { checkIfProcessing } = require('../services/integration/processingStatus');
const { UI_TIMEZONE, DEFAULT_DATE_FORMAT } = require('../constants/constants');
const { UI_TIMEZONE, DEFAULT_DATE_FORMAT, ALLOW_SENDING_FEES, integrationServiceErrors } = require('../constants/constants');
const getKnownOfficeResourceMappings = (req, res) => {
const dataToFetch = [getMappingsFromDatabase(), fetchOffices(), fetchResources()];
@@ -126,7 +126,10 @@ const addFees = (req, res) => {
const currentMonth = currentMoment.month();
const currentYear = currentMoment.year();
if ((startMomentYear < currentYear) || (startMomentYear === currentYear && startMomentMonth < currentMonth)) {
const allowSendingFees = ALLOW_SENDING_FEES ||
((startMomentYear < currentYear) || (startMomentYear === currentYear && startMomentMonth < currentMonth));
if (allowSendingFees) {
checkBookingChanges()
.then(() => {
deleteFeesFromORD(dateRange, memberIds)
@@ -169,12 +172,12 @@ const addFees = (req, res) => {
res.status(500).send(error);
})
}else{
console.log('Selected month/year pair is current month or in the future');
res.status(400).send('Selected month/year pair is current month or in the future');
console.log(integrationServiceErrors.SENDING_FEES_DISABLED);
res.status(400).send(integrationServiceErrors.SENDING_FEES_DISABLED);
}
}else{
console.log('Date range is missing to send fees to ORD');
res.status(400).send('Date range is missing');
console.log(integrationServiceErrors.MONTH_MISSING);
res.status(400).send(integrationServiceErrors.MONTH_MISSING);
}
};

View File

@@ -39,6 +39,8 @@ ORD_OAUTH_URL=https://identity.officernd.com/oauth/token
CUSTOM_FEES_PREFIXES=Array of prefixes to recognize manually added fees. Comma-separated
ALLOW_SENDING_FEES_FOR_CURRENT_AND_FUTURE_MONTHS=0 - false => Sending fees is disabled for current and future months, 1 - true => Sending fees is never disabled
#More about pool option : http://docs.sequelizejs.com/class/lib/sequelize.js~Sequelize.html
DB_POOL_MAX_CONNECTIONS=Maximum number of connection in pool (ex. 18)
DB_POOL_ACQUIRE=The maximum time, in milliseconds, that pool will try to get connection before throwing error (ex. 120000)