string concat cleanup
parent
c572a929ac
commit
cc6de92bdc
42
app.js
42
app.js
|
|
@ -59,15 +59,15 @@ app.use(rateLimit({
|
||||||
}));
|
}));
|
||||||
const urlPrefix = configFunctions.getProperty('reverseProxy.urlPrefix');
|
const urlPrefix = configFunctions.getProperty('reverseProxy.urlPrefix');
|
||||||
if (urlPrefix !== '') {
|
if (urlPrefix !== '') {
|
||||||
debug('urlPrefix = ' + urlPrefix);
|
debug(`urlPrefix = ${urlPrefix}`);
|
||||||
}
|
}
|
||||||
app.use(urlPrefix, express.static(path.join('public')));
|
app.use(urlPrefix, express.static(path.join('public')));
|
||||||
app.use(urlPrefix + '/lib/bulma-calendar', express.static(path.join('node_modules', 'bulma-calendar', 'dist')));
|
app.use(`${urlPrefix}/lib/bulma-calendar`, express.static(path.join('node_modules', 'bulma-calendar', 'dist')));
|
||||||
app.use(urlPrefix + '/lib/cityssm-bulma-js/bulma-js.js', express.static(path.join('node_modules', '@cityssm', 'bulma-js', 'dist', 'bulma-js.js')));
|
app.use(`${urlPrefix}/lib/cityssm-bulma-js/bulma-js.js`, express.static(path.join('node_modules', '@cityssm', 'bulma-js', 'dist', 'bulma-js.js')));
|
||||||
app.use(urlPrefix + '/lib/cityssm-bulma-webapp-js', express.static(path.join('node_modules', '@cityssm', 'bulma-webapp-js', 'dist')));
|
app.use(`${urlPrefix}/lib/cityssm-bulma-webapp-js`, express.static(path.join('node_modules', '@cityssm', 'bulma-webapp-js', 'dist')));
|
||||||
app.use(urlPrefix + '/lib/fa', express.static(path.join('node_modules', '@fortawesome', 'fontawesome-free')));
|
app.use(`${urlPrefix}/lib/fa`, express.static(path.join('node_modules', '@fortawesome', 'fontawesome-free')));
|
||||||
app.use(urlPrefix + '/lib/leaflet', express.static(path.join('node_modules', 'leaflet', 'dist')));
|
app.use(`${urlPrefix}/lib/leaflet`, express.static(path.join('node_modules', 'leaflet', 'dist')));
|
||||||
app.use(urlPrefix + '/lib/randomcolor/randomColor.js', express.static(path.join('node_modules', 'randomcolor', 'randomColor.js')));
|
app.use(`${urlPrefix}/lib/randomcolor/randomColor.js`, express.static(path.join('node_modules', 'randomcolor', 'randomColor.js')));
|
||||||
const sessionCookieName = configFunctions.getProperty('session.cookieName');
|
const sessionCookieName = configFunctions.getProperty('session.cookieName');
|
||||||
const FileStoreSession = FileStore(session);
|
const FileStoreSession = FileStore(session);
|
||||||
app.use(session({
|
app.use(session({
|
||||||
|
|
@ -115,24 +115,24 @@ app.use((request, response, next) => {
|
||||||
next();
|
next();
|
||||||
});
|
});
|
||||||
app.get(urlPrefix + '/', sessionChecker, (_request, response) => {
|
app.get(urlPrefix + '/', sessionChecker, (_request, response) => {
|
||||||
response.redirect(urlPrefix + '/dashboard');
|
response.redirect(`${urlPrefix}/dashboard`);
|
||||||
});
|
});
|
||||||
app.use(urlPrefix + '/dashboard', sessionChecker, routerDashboard);
|
app.use(`${urlPrefix}/dashboard`, sessionChecker, routerDashboard);
|
||||||
app.use(urlPrefix + '/api/:apiKey', permissionHandlers.apiGetHandler, routerApi);
|
app.use(`${urlPrefix}/api/:apiKey`, permissionHandlers.apiGetHandler, routerApi);
|
||||||
app.use(urlPrefix + '/print', sessionChecker, routerPrint);
|
app.use(`${urlPrefix}/print`, sessionChecker, routerPrint);
|
||||||
app.use(urlPrefix + '/maps', sessionChecker, routerMaps);
|
app.use(`${urlPrefix}/maps`, sessionChecker, routerMaps);
|
||||||
app.use(urlPrefix + '/lots', sessionChecker, routerLots);
|
app.use(`${urlPrefix}/lots`, sessionChecker, routerLots);
|
||||||
app.use(urlPrefix + '/lotOccupancies', sessionChecker, routerLotOccupancies);
|
app.use(`${urlPrefix}/lotOccupancies`, sessionChecker, routerLotOccupancies);
|
||||||
app.use(urlPrefix + '/workOrders', sessionChecker, routerWorkOrders);
|
app.use(`${urlPrefix}/workOrders`, sessionChecker, routerWorkOrders);
|
||||||
app.use(urlPrefix + '/reports', sessionChecker, routerReports);
|
app.use(`${urlPrefix}/reports`, sessionChecker, routerReports);
|
||||||
app.use(urlPrefix + '/admin', sessionChecker, permissionHandlers.adminGetHandler, routerAdmin);
|
app.use(`${urlPrefix}/admin`, sessionChecker, permissionHandlers.adminGetHandler, routerAdmin);
|
||||||
if (configFunctions.getProperty('session.doKeepAlive')) {
|
if (configFunctions.getProperty('session.doKeepAlive')) {
|
||||||
app.all(urlPrefix + '/keepAlive', (_request, response) => {
|
app.all(`${urlPrefix}/keepAlive`, (_request, response) => {
|
||||||
response.json(true);
|
response.json(true);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
app.use(urlPrefix + '/login', routerLogin);
|
app.use(`${urlPrefix}/login`, routerLogin);
|
||||||
app.get(urlPrefix + '/logout', (request, response) => {
|
app.get(`${urlPrefix}/logout`, (request, response) => {
|
||||||
if (Object.hasOwn(request.session, 'user') &&
|
if (Object.hasOwn(request.session, 'user') &&
|
||||||
Object.hasOwn(request.cookies, sessionCookieName)) {
|
Object.hasOwn(request.cookies, sessionCookieName)) {
|
||||||
request.session.destroy(() => {
|
request.session.destroy(() => {
|
||||||
|
|
@ -146,6 +146,6 @@ app.get(urlPrefix + '/logout', (request, response) => {
|
||||||
});
|
});
|
||||||
app.use((request, _response, next) => {
|
app.use((request, _response, next) => {
|
||||||
debug(request.url);
|
debug(request.url);
|
||||||
next(createError(404, 'File not found: ' + request.url));
|
next(createError(404, `File not found: ${request.url}`));
|
||||||
});
|
});
|
||||||
export default app;
|
export default app;
|
||||||
|
|
|
||||||
42
app.ts
42
app.ts
|
|
@ -99,42 +99,42 @@ app.use(
|
||||||
const urlPrefix = configFunctions.getProperty('reverseProxy.urlPrefix')
|
const urlPrefix = configFunctions.getProperty('reverseProxy.urlPrefix')
|
||||||
|
|
||||||
if (urlPrefix !== '') {
|
if (urlPrefix !== '') {
|
||||||
debug('urlPrefix = ' + urlPrefix)
|
debug(`urlPrefix = ${urlPrefix}`)
|
||||||
}
|
}
|
||||||
|
|
||||||
app.use(urlPrefix, express.static(path.join('public')))
|
app.use(urlPrefix, express.static(path.join('public')))
|
||||||
|
|
||||||
app.use(
|
app.use(
|
||||||
urlPrefix + '/lib/bulma-calendar',
|
`${urlPrefix}/lib/bulma-calendar`,
|
||||||
express.static(path.join('node_modules', 'bulma-calendar', 'dist'))
|
express.static(path.join('node_modules', 'bulma-calendar', 'dist'))
|
||||||
)
|
)
|
||||||
|
|
||||||
app.use(
|
app.use(
|
||||||
urlPrefix + '/lib/cityssm-bulma-js/bulma-js.js',
|
`${urlPrefix}/lib/cityssm-bulma-js/bulma-js.js`,
|
||||||
express.static(
|
express.static(
|
||||||
path.join('node_modules', '@cityssm', 'bulma-js', 'dist', 'bulma-js.js')
|
path.join('node_modules', '@cityssm', 'bulma-js', 'dist', 'bulma-js.js')
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
app.use(
|
app.use(
|
||||||
urlPrefix + '/lib/cityssm-bulma-webapp-js',
|
`${urlPrefix}/lib/cityssm-bulma-webapp-js`,
|
||||||
express.static(
|
express.static(
|
||||||
path.join('node_modules', '@cityssm', 'bulma-webapp-js', 'dist')
|
path.join('node_modules', '@cityssm', 'bulma-webapp-js', 'dist')
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
app.use(
|
app.use(
|
||||||
urlPrefix + '/lib/fa',
|
`${urlPrefix}/lib/fa`,
|
||||||
express.static(path.join('node_modules', '@fortawesome', 'fontawesome-free'))
|
express.static(path.join('node_modules', '@fortawesome', 'fontawesome-free'))
|
||||||
)
|
)
|
||||||
|
|
||||||
app.use(
|
app.use(
|
||||||
urlPrefix + '/lib/leaflet',
|
`${urlPrefix}/lib/leaflet`,
|
||||||
express.static(path.join('node_modules', 'leaflet', 'dist'))
|
express.static(path.join('node_modules', 'leaflet', 'dist'))
|
||||||
)
|
)
|
||||||
|
|
||||||
app.use(
|
app.use(
|
||||||
urlPrefix + '/lib/randomcolor/randomColor.js',
|
`${urlPrefix}/lib/randomcolor/randomColor.js`,
|
||||||
express.static(path.join('node_modules', 'randomcolor', 'randomColor.js'))
|
express.static(path.join('node_modules', 'randomcolor', 'randomColor.js'))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -226,40 +226,40 @@ app.use((request, response, next) => {
|
||||||
})
|
})
|
||||||
|
|
||||||
app.get(urlPrefix + '/', sessionChecker, (_request, response) => {
|
app.get(urlPrefix + '/', sessionChecker, (_request, response) => {
|
||||||
response.redirect(urlPrefix + '/dashboard')
|
response.redirect(`${urlPrefix}/dashboard`)
|
||||||
})
|
})
|
||||||
|
|
||||||
app.use(urlPrefix + '/dashboard', sessionChecker, routerDashboard)
|
app.use(`${urlPrefix}/dashboard`, sessionChecker, routerDashboard)
|
||||||
|
|
||||||
app.use(
|
app.use(
|
||||||
urlPrefix + '/api/:apiKey',
|
`${urlPrefix}/api/:apiKey`,
|
||||||
permissionHandlers.apiGetHandler as RequestHandler,
|
permissionHandlers.apiGetHandler as RequestHandler,
|
||||||
routerApi
|
routerApi
|
||||||
)
|
)
|
||||||
|
|
||||||
app.use(urlPrefix + '/print', sessionChecker, routerPrint)
|
app.use(`${urlPrefix}/print`, sessionChecker, routerPrint)
|
||||||
app.use(urlPrefix + '/maps', sessionChecker, routerMaps)
|
app.use(`${urlPrefix}/maps`, sessionChecker, routerMaps)
|
||||||
app.use(urlPrefix + '/lots', sessionChecker, routerLots)
|
app.use(`${urlPrefix}/lots`, sessionChecker, routerLots)
|
||||||
app.use(urlPrefix + '/lotOccupancies', sessionChecker, routerLotOccupancies)
|
app.use(`${urlPrefix}/lotOccupancies`, sessionChecker, routerLotOccupancies)
|
||||||
app.use(urlPrefix + '/workOrders', sessionChecker, routerWorkOrders)
|
app.use(`${urlPrefix}/workOrders`, sessionChecker, routerWorkOrders)
|
||||||
|
|
||||||
app.use(urlPrefix + '/reports', sessionChecker, routerReports)
|
app.use(`${urlPrefix}/reports`, sessionChecker, routerReports)
|
||||||
app.use(
|
app.use(
|
||||||
urlPrefix + '/admin',
|
`${urlPrefix}/admin`,
|
||||||
sessionChecker,
|
sessionChecker,
|
||||||
permissionHandlers.adminGetHandler,
|
permissionHandlers.adminGetHandler,
|
||||||
routerAdmin
|
routerAdmin
|
||||||
)
|
)
|
||||||
|
|
||||||
if (configFunctions.getProperty('session.doKeepAlive')) {
|
if (configFunctions.getProperty('session.doKeepAlive')) {
|
||||||
app.all(urlPrefix + '/keepAlive', (_request, response) => {
|
app.all(`${urlPrefix}/keepAlive`, (_request, response) => {
|
||||||
response.json(true)
|
response.json(true)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
app.use(urlPrefix + '/login', routerLogin)
|
app.use(`${urlPrefix}/login`, routerLogin)
|
||||||
|
|
||||||
app.get(urlPrefix + '/logout', (request, response) => {
|
app.get(`${urlPrefix}/logout`, (request, response) => {
|
||||||
if (
|
if (
|
||||||
Object.hasOwn(request.session, 'user') &&
|
Object.hasOwn(request.session, 'user') &&
|
||||||
Object.hasOwn(request.cookies, sessionCookieName)
|
Object.hasOwn(request.cookies, sessionCookieName)
|
||||||
|
|
@ -276,7 +276,7 @@ app.get(urlPrefix + '/logout', (request, response) => {
|
||||||
// Catch 404 and forward to error handler
|
// Catch 404 and forward to error handler
|
||||||
app.use((request, _response, next) => {
|
app.use((request, _response, next) => {
|
||||||
debug(request.url)
|
debug(request.url)
|
||||||
next(createError(404, 'File not found: ' + request.url))
|
next(createError(404, `File not found: ${request.url}`))
|
||||||
})
|
})
|
||||||
|
|
||||||
export default app
|
export default app
|
||||||
|
|
|
||||||
|
|
@ -79,14 +79,14 @@ function getMapByMapDescription(mapDescription) {
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
function formatDateString(year, month, day) {
|
function formatDateString(year, month, day) {
|
||||||
return (('0000' + year).slice(-4) +
|
return (`0000${year}`.slice(-4) +
|
||||||
'-' +
|
'-' +
|
||||||
('00' + month).slice(-2) +
|
`00${month}`.slice(-2) +
|
||||||
'-' +
|
'-' +
|
||||||
('00' + day).slice(-2));
|
`00${day}`.slice(-2));
|
||||||
}
|
}
|
||||||
function formatTimeString(hour, minute) {
|
function formatTimeString(hour, minute) {
|
||||||
return ('00' + hour).slice(-2) + ':' + ('00' + minute).slice(-2);
|
return `00${hour}`.slice(-2) + ':' + `00${minute}`.slice(-2);
|
||||||
}
|
}
|
||||||
const cemeteryToMapName = {
|
const cemeteryToMapName = {
|
||||||
'00': 'Crematorium',
|
'00': 'Crematorium',
|
||||||
|
|
@ -109,7 +109,7 @@ async function getMap(dataRow) {
|
||||||
}
|
}
|
||||||
let map = getMapByMapDescription(mapCacheKey);
|
let map = getMapByMapDescription(mapCacheKey);
|
||||||
if (!map) {
|
if (!map) {
|
||||||
console.log('Creating map: ' + dataRow.cemetery);
|
console.log(`Creating map: ${dataRow.cemetery}`);
|
||||||
const mapId = await addMap({
|
const mapId = await addMap({
|
||||||
mapName: cemeteryToMapName[dataRow.cemetery] ?? dataRow.cemetery,
|
mapName: cemeteryToMapName[dataRow.cemetery] ?? dataRow.cemetery,
|
||||||
mapDescription: dataRow.cemetery,
|
mapDescription: dataRow.cemetery,
|
||||||
|
|
@ -239,7 +239,7 @@ async function importFromMasterCSV() {
|
||||||
lotOccupancyId: preneedLotOccupancyId,
|
lotOccupancyId: preneedLotOccupancyId,
|
||||||
lotOccupancyCommentDateString: preneedOccupancyStartDateString,
|
lotOccupancyCommentDateString: preneedOccupancyStartDateString,
|
||||||
lotOccupancyCommentTimeString: '00:00',
|
lotOccupancyCommentTimeString: '00:00',
|
||||||
lotOccupancyComment: 'Imported Contract #' + masterRow.CM_WORK_ORDER
|
lotOccupancyComment: `Imported Contract #${masterRow.CM_WORK_ORDER}`
|
||||||
}, user);
|
}, user);
|
||||||
}
|
}
|
||||||
if (occupancyEndDateString === '') {
|
if (occupancyEndDateString === '') {
|
||||||
|
|
@ -386,7 +386,7 @@ async function importFromMasterCSV() {
|
||||||
lotOccupancyId: deceasedLotOccupancyId,
|
lotOccupancyId: deceasedLotOccupancyId,
|
||||||
lotOccupancyCommentDateString: deceasedOccupancyStartDateString,
|
lotOccupancyCommentDateString: deceasedOccupancyStartDateString,
|
||||||
lotOccupancyCommentTimeString: '00:00',
|
lotOccupancyCommentTimeString: '00:00',
|
||||||
lotOccupancyComment: 'Imported Contract #' + masterRow.CM_WORK_ORDER
|
lotOccupancyComment: `Imported Contract #${masterRow.CM_WORK_ORDER}`
|
||||||
}, user);
|
}, user);
|
||||||
}
|
}
|
||||||
await updateLotStatus(lotId, importIds.takenLotStatusId, user);
|
await updateLotStatus(lotId, importIds.takenLotStatusId, user);
|
||||||
|
|
@ -508,7 +508,7 @@ async function importFromPrepaidCSV() {
|
||||||
occupantAddress2: '',
|
occupantAddress2: '',
|
||||||
occupantCity: prepaidRow.CMPP_CITY,
|
occupantCity: prepaidRow.CMPP_CITY,
|
||||||
occupantProvince: prepaidRow.CMPP_PROV.slice(0, 2),
|
occupantProvince: prepaidRow.CMPP_PROV.slice(0, 2),
|
||||||
occupantPostalCode: prepaidRow.CMPP_POSTAL1 + ' ' + prepaidRow.CMPP_POSTAL2,
|
occupantPostalCode: `${prepaidRow.CMPP_POSTAL1} ${prepaidRow.CMPP_POSTAL2}`,
|
||||||
occupantPhoneNumber: '',
|
occupantPhoneNumber: '',
|
||||||
occupantEmailAddress: ''
|
occupantEmailAddress: ''
|
||||||
}, user);
|
}, user);
|
||||||
|
|
@ -625,7 +625,7 @@ async function importFromPrepaidCSV() {
|
||||||
externalReceiptNumber: '',
|
externalReceiptNumber: '',
|
||||||
transactionAmount,
|
transactionAmount,
|
||||||
transactionDateString: occupancyStartDateString,
|
transactionDateString: occupancyStartDateString,
|
||||||
transactionNote: 'Order Number: ' + prepaidRow.CMPP_ORDER_NO
|
transactionNote: `Order Number: ${prepaidRow.CMPP_ORDER_NO}`
|
||||||
}, user);
|
}, user);
|
||||||
if (prepaidRow.CMPP_REMARK1) {
|
if (prepaidRow.CMPP_REMARK1) {
|
||||||
await addLotOccupancyComment({
|
await addLotOccupancyComment({
|
||||||
|
|
@ -664,7 +664,7 @@ async function importFromWorkOrderCSV() {
|
||||||
const currentDateString = dateToString(new Date());
|
const currentDateString = dateToString(new Date());
|
||||||
try {
|
try {
|
||||||
for (workOrderRow of cmwkordr.data) {
|
for (workOrderRow of cmwkordr.data) {
|
||||||
const workOrderNumber = ('000000' + workOrderRow.WO_WORK_ORDER).slice(-6);
|
const workOrderNumber = `000000${workOrderRow.WO_WORK_ORDER}`.slice(-6);
|
||||||
let workOrder = await getWorkOrderByWorkOrderNumber(workOrderNumber);
|
let workOrder = await getWorkOrderByWorkOrderNumber(workOrderNumber);
|
||||||
const workOrderOpenDateString = dateIntegerToString(Number.parseInt(workOrderRow.WO_INITIATION_DATE, 10));
|
const workOrderOpenDateString = dateIntegerToString(Number.parseInt(workOrderRow.WO_INITIATION_DATE, 10));
|
||||||
if (workOrder) {
|
if (workOrder) {
|
||||||
|
|
@ -678,11 +678,7 @@ async function importFromWorkOrderCSV() {
|
||||||
const workOrderId = await addWorkOrder({
|
const workOrderId = await addWorkOrder({
|
||||||
workOrderNumber,
|
workOrderNumber,
|
||||||
workOrderTypeId: importIds.workOrderTypeId,
|
workOrderTypeId: importIds.workOrderTypeId,
|
||||||
workOrderDescription: (workOrderRow.WO_REMARK1 +
|
workOrderDescription: `${workOrderRow.WO_REMARK1} ${workOrderRow.WO_REMARK2} ${workOrderRow.WO_REMARK3}`.trim(),
|
||||||
' ' +
|
|
||||||
workOrderRow.WO_REMARK2 +
|
|
||||||
' ' +
|
|
||||||
workOrderRow.WO_REMARK3).trim(),
|
|
||||||
workOrderOpenDateString
|
workOrderOpenDateString
|
||||||
}, user);
|
}, user);
|
||||||
workOrder = await getWorkOrder(workOrderId, {
|
workOrder = await getWorkOrder(workOrderId, {
|
||||||
|
|
@ -757,7 +753,7 @@ async function importFromWorkOrderCSV() {
|
||||||
occupantAddress2: '',
|
occupantAddress2: '',
|
||||||
occupantCity: workOrderRow.WO_CITY,
|
occupantCity: workOrderRow.WO_CITY,
|
||||||
occupantProvince: workOrderRow.WO_PROV.slice(0, 2),
|
occupantProvince: workOrderRow.WO_PROV.slice(0, 2),
|
||||||
occupantPostalCode: workOrderRow.WO_POST1 + ' ' + workOrderRow.WO_POST2,
|
occupantPostalCode: `${workOrderRow.WO_POST1} ${workOrderRow.WO_POST2}`,
|
||||||
occupantPhoneNumber: '',
|
occupantPhoneNumber: '',
|
||||||
occupantEmailAddress: ''
|
occupantEmailAddress: ''
|
||||||
}, user);
|
}, user);
|
||||||
|
|
@ -941,7 +937,7 @@ async function importFromWorkOrderCSV() {
|
||||||
workOrderId: workOrder.workOrderId,
|
workOrderId: workOrder.workOrderId,
|
||||||
workOrderMilestoneTypeId: importIds.intermentWorkOrderMilestoneTypeId,
|
workOrderMilestoneTypeId: importIds.intermentWorkOrderMilestoneTypeId,
|
||||||
workOrderMilestoneDateString,
|
workOrderMilestoneDateString,
|
||||||
workOrderMilestoneDescription: 'Depth: ' + workOrderRow.WO_DEPTH,
|
workOrderMilestoneDescription: `Depth: ${workOrderRow.WO_DEPTH}`,
|
||||||
workOrderMilestoneCompletionDateString: workOrderMilestoneDateString < currentDateString
|
workOrderMilestoneCompletionDateString: workOrderMilestoneDateString < currentDateString
|
||||||
? workOrderMilestoneDateString
|
? workOrderMilestoneDateString
|
||||||
: undefined,
|
: undefined,
|
||||||
|
|
|
||||||
|
|
@ -246,16 +246,16 @@ function getMapByMapDescription(mapDescription: string): recordTypes.MapRecord {
|
||||||
|
|
||||||
function formatDateString(year: string, month: string, day: string): string {
|
function formatDateString(year: string, month: string, day: string): string {
|
||||||
return (
|
return (
|
||||||
('0000' + year).slice(-4) +
|
`0000${year}`.slice(-4) +
|
||||||
'-' +
|
'-' +
|
||||||
('00' + month).slice(-2) +
|
`00${month}`.slice(-2) +
|
||||||
'-' +
|
'-' +
|
||||||
('00' + day).slice(-2)
|
`00${day}`.slice(-2)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
function formatTimeString(hour: string, minute: string): string {
|
function formatTimeString(hour: string, minute: string): string {
|
||||||
return ('00' + hour).slice(-2) + ':' + ('00' + minute).slice(-2)
|
return `00${hour}`.slice(-2) + ':' + `00${minute}`.slice(-2)
|
||||||
}
|
}
|
||||||
|
|
||||||
const cemeteryToMapName = {
|
const cemeteryToMapName = {
|
||||||
|
|
@ -293,7 +293,7 @@ async function getMap(dataRow: {
|
||||||
let map = getMapByMapDescription(mapCacheKey)
|
let map = getMapByMapDescription(mapCacheKey)
|
||||||
|
|
||||||
if (!map) {
|
if (!map) {
|
||||||
console.log('Creating map: ' + dataRow.cemetery)
|
console.log(`Creating map: ${dataRow.cemetery}`)
|
||||||
|
|
||||||
const mapId = await addMap(
|
const mapId = await addMap(
|
||||||
{
|
{
|
||||||
|
|
@ -496,8 +496,7 @@ async function importFromMasterCSV(): Promise<void> {
|
||||||
lotOccupancyId: preneedLotOccupancyId,
|
lotOccupancyId: preneedLotOccupancyId,
|
||||||
lotOccupancyCommentDateString: preneedOccupancyStartDateString,
|
lotOccupancyCommentDateString: preneedOccupancyStartDateString,
|
||||||
lotOccupancyCommentTimeString: '00:00',
|
lotOccupancyCommentTimeString: '00:00',
|
||||||
lotOccupancyComment:
|
lotOccupancyComment: `Imported Contract #${masterRow.CM_WORK_ORDER}`
|
||||||
'Imported Contract #' + masterRow.CM_WORK_ORDER
|
|
||||||
},
|
},
|
||||||
user
|
user
|
||||||
)
|
)
|
||||||
|
|
@ -766,8 +765,7 @@ async function importFromMasterCSV(): Promise<void> {
|
||||||
lotOccupancyId: deceasedLotOccupancyId,
|
lotOccupancyId: deceasedLotOccupancyId,
|
||||||
lotOccupancyCommentDateString: deceasedOccupancyStartDateString,
|
lotOccupancyCommentDateString: deceasedOccupancyStartDateString,
|
||||||
lotOccupancyCommentTimeString: '00:00',
|
lotOccupancyCommentTimeString: '00:00',
|
||||||
lotOccupancyComment:
|
lotOccupancyComment: `Imported Contract #${masterRow.CM_WORK_ORDER}`
|
||||||
'Imported Contract #' + masterRow.CM_WORK_ORDER
|
|
||||||
},
|
},
|
||||||
user
|
user
|
||||||
)
|
)
|
||||||
|
|
@ -932,8 +930,7 @@ async function importFromPrepaidCSV(): Promise<void> {
|
||||||
occupantAddress2: '',
|
occupantAddress2: '',
|
||||||
occupantCity: prepaidRow.CMPP_CITY,
|
occupantCity: prepaidRow.CMPP_CITY,
|
||||||
occupantProvince: prepaidRow.CMPP_PROV.slice(0, 2),
|
occupantProvince: prepaidRow.CMPP_PROV.slice(0, 2),
|
||||||
occupantPostalCode:
|
occupantPostalCode: `${prepaidRow.CMPP_POSTAL1} ${prepaidRow.CMPP_POSTAL2}`,
|
||||||
prepaidRow.CMPP_POSTAL1 + ' ' + prepaidRow.CMPP_POSTAL2,
|
|
||||||
occupantPhoneNumber: '',
|
occupantPhoneNumber: '',
|
||||||
occupantEmailAddress: ''
|
occupantEmailAddress: ''
|
||||||
},
|
},
|
||||||
|
|
@ -1098,7 +1095,7 @@ async function importFromPrepaidCSV(): Promise<void> {
|
||||||
externalReceiptNumber: '',
|
externalReceiptNumber: '',
|
||||||
transactionAmount,
|
transactionAmount,
|
||||||
transactionDateString: occupancyStartDateString,
|
transactionDateString: occupancyStartDateString,
|
||||||
transactionNote: 'Order Number: ' + prepaidRow.CMPP_ORDER_NO
|
transactionNote: `Order Number: ${prepaidRow.CMPP_ORDER_NO}`
|
||||||
},
|
},
|
||||||
user
|
user
|
||||||
)
|
)
|
||||||
|
|
@ -1154,7 +1151,7 @@ async function importFromWorkOrderCSV(): Promise<void> {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
for (workOrderRow of cmwkordr.data) {
|
for (workOrderRow of cmwkordr.data) {
|
||||||
const workOrderNumber = ('000000' + workOrderRow.WO_WORK_ORDER).slice(-6)
|
const workOrderNumber = `000000${workOrderRow.WO_WORK_ORDER}`.slice(-6)
|
||||||
|
|
||||||
let workOrder = await getWorkOrderByWorkOrderNumber(workOrderNumber)
|
let workOrder = await getWorkOrderByWorkOrderNumber(workOrderNumber)
|
||||||
|
|
||||||
|
|
@ -1173,13 +1170,8 @@ async function importFromWorkOrderCSV(): Promise<void> {
|
||||||
{
|
{
|
||||||
workOrderNumber,
|
workOrderNumber,
|
||||||
workOrderTypeId: importIds.workOrderTypeId,
|
workOrderTypeId: importIds.workOrderTypeId,
|
||||||
workOrderDescription: (
|
workOrderDescription:
|
||||||
workOrderRow.WO_REMARK1 +
|
`${workOrderRow.WO_REMARK1} ${workOrderRow.WO_REMARK2} ${workOrderRow.WO_REMARK3}`.trim(),
|
||||||
' ' +
|
|
||||||
workOrderRow.WO_REMARK2 +
|
|
||||||
' ' +
|
|
||||||
workOrderRow.WO_REMARK3
|
|
||||||
).trim(),
|
|
||||||
workOrderOpenDateString
|
workOrderOpenDateString
|
||||||
},
|
},
|
||||||
user
|
user
|
||||||
|
|
@ -1287,8 +1279,7 @@ async function importFromWorkOrderCSV(): Promise<void> {
|
||||||
occupantAddress2: '',
|
occupantAddress2: '',
|
||||||
occupantCity: workOrderRow.WO_CITY,
|
occupantCity: workOrderRow.WO_CITY,
|
||||||
occupantProvince: workOrderRow.WO_PROV.slice(0, 2),
|
occupantProvince: workOrderRow.WO_PROV.slice(0, 2),
|
||||||
occupantPostalCode:
|
occupantPostalCode: `${workOrderRow.WO_POST1} ${workOrderRow.WO_POST2}`,
|
||||||
workOrderRow.WO_POST1 + ' ' + workOrderRow.WO_POST2,
|
|
||||||
occupantPhoneNumber: '',
|
occupantPhoneNumber: '',
|
||||||
occupantEmailAddress: ''
|
occupantEmailAddress: ''
|
||||||
},
|
},
|
||||||
|
|
@ -1510,8 +1501,7 @@ async function importFromWorkOrderCSV(): Promise<void> {
|
||||||
workOrderId: workOrder.workOrderId!,
|
workOrderId: workOrder.workOrderId!,
|
||||||
workOrderMilestoneTypeId: importIds.deathWorkOrderMilestoneTypeId,
|
workOrderMilestoneTypeId: importIds.deathWorkOrderMilestoneTypeId,
|
||||||
workOrderMilestoneDateString,
|
workOrderMilestoneDateString,
|
||||||
workOrderMilestoneDescription:
|
workOrderMilestoneDescription: `Death Place: ${workOrderRow.WO_DEATH_PLACE}`,
|
||||||
`Death Place: ${workOrderRow.WO_DEATH_PLACE}`,
|
|
||||||
workOrderMilestoneCompletionDateString:
|
workOrderMilestoneCompletionDateString:
|
||||||
workOrderMilestoneDateString < currentDateString
|
workOrderMilestoneDateString < currentDateString
|
||||||
? workOrderMilestoneDateString
|
? workOrderMilestoneDateString
|
||||||
|
|
@ -1620,7 +1610,7 @@ async function importFromWorkOrderCSV(): Promise<void> {
|
||||||
workOrderMilestoneTypeId:
|
workOrderMilestoneTypeId:
|
||||||
importIds.intermentWorkOrderMilestoneTypeId,
|
importIds.intermentWorkOrderMilestoneTypeId,
|
||||||
workOrderMilestoneDateString,
|
workOrderMilestoneDateString,
|
||||||
workOrderMilestoneDescription: 'Depth: ' + workOrderRow.WO_DEPTH,
|
workOrderMilestoneDescription: `Depth: ${workOrderRow.WO_DEPTH}`,
|
||||||
workOrderMilestoneCompletionDateString:
|
workOrderMilestoneCompletionDateString:
|
||||||
workOrderMilestoneDateString < currentDateString
|
workOrderMilestoneDateString < currentDateString
|
||||||
? workOrderMilestoneDateString
|
? workOrderMilestoneDateString
|
||||||
|
|
|
||||||
|
|
@ -2,19 +2,16 @@ import * as importIds from './legacy.importFromCsv.ids.js';
|
||||||
export function buildLotName(lotNamePieces) {
|
export function buildLotName(lotNamePieces) {
|
||||||
return (lotNamePieces.cemetery +
|
return (lotNamePieces.cemetery +
|
||||||
'-' +
|
'-' +
|
||||||
(lotNamePieces.block === '' ? '' : 'B' + lotNamePieces.block + '-') +
|
(lotNamePieces.block === '' ? '' : `B${lotNamePieces.block}-`) +
|
||||||
(lotNamePieces.range1 === '0' && lotNamePieces.range2 === ''
|
(lotNamePieces.range1 === '0' && lotNamePieces.range2 === ''
|
||||||
? ''
|
? ''
|
||||||
: 'R' +
|
: `R${lotNamePieces.range1 === '0' ? '' : lotNamePieces.range1}${lotNamePieces.range2}-`) +
|
||||||
(lotNamePieces.range1 === '0' ? '' : lotNamePieces.range1) +
|
|
||||||
lotNamePieces.range2 +
|
|
||||||
'-') +
|
|
||||||
(lotNamePieces.lot1 === '0' && lotNamePieces.lot2 === ''
|
(lotNamePieces.lot1 === '0' && lotNamePieces.lot2 === ''
|
||||||
? ''
|
? ''
|
||||||
: 'L' + lotNamePieces.lot1 + lotNamePieces.lot2 + '-') +
|
: `L${lotNamePieces.lot1}${lotNamePieces.lot2}-`) +
|
||||||
('G' + lotNamePieces.grave1 + lotNamePieces.grave2) +
|
`G${lotNamePieces.grave1}${lotNamePieces.grave2}` +
|
||||||
', ' +
|
', ' +
|
||||||
('Interment ' + lotNamePieces.interment));
|
`Interment ${lotNamePieces.interment}`);
|
||||||
}
|
}
|
||||||
export function getFuneralHomeLotOccupancyOccupantData(funeralHomeKey) {
|
export function getFuneralHomeLotOccupancyOccupantData(funeralHomeKey) {
|
||||||
switch (funeralHomeKey) {
|
switch (funeralHomeKey) {
|
||||||
|
|
|
||||||
|
|
@ -16,19 +16,18 @@ export function buildLotName(lotNamePieces: {
|
||||||
return (
|
return (
|
||||||
lotNamePieces.cemetery +
|
lotNamePieces.cemetery +
|
||||||
'-' +
|
'-' +
|
||||||
(lotNamePieces.block === '' ? '' : 'B' + lotNamePieces.block + '-') +
|
(lotNamePieces.block === '' ? '' : `B${lotNamePieces.block}-`) +
|
||||||
(lotNamePieces.range1 === '0' && lotNamePieces.range2 === ''
|
(lotNamePieces.range1 === '0' && lotNamePieces.range2 === ''
|
||||||
? ''
|
? ''
|
||||||
: 'R' +
|
: `R${lotNamePieces.range1 === '0' ? '' : lotNamePieces.range1}${
|
||||||
(lotNamePieces.range1 === '0' ? '' : lotNamePieces.range1) +
|
lotNamePieces.range2
|
||||||
lotNamePieces.range2 +
|
}-`) +
|
||||||
'-') +
|
|
||||||
(lotNamePieces.lot1 === '0' && lotNamePieces.lot2 === ''
|
(lotNamePieces.lot1 === '0' && lotNamePieces.lot2 === ''
|
||||||
? ''
|
? ''
|
||||||
: 'L' + lotNamePieces.lot1 + lotNamePieces.lot2 + '-') +
|
: `L${lotNamePieces.lot1}${lotNamePieces.lot2}-`) +
|
||||||
('G' + lotNamePieces.grave1 + lotNamePieces.grave2) +
|
`G${lotNamePieces.grave1}${lotNamePieces.grave2}` +
|
||||||
', ' +
|
', ' +
|
||||||
('Interment ' + lotNamePieces.interment)
|
`Interment ${lotNamePieces.interment}`
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
|
// eslint-disable-next-line eslint-comments/disable-enable-pair
|
||||||
/* eslint-disable unicorn/no-await-expression-member */
|
/* eslint-disable unicorn/no-await-expression-member */
|
||||||
|
|
||||||
import sqlite from 'better-sqlite3'
|
import sqlite from 'better-sqlite3'
|
||||||
import { lotOccupancyDB as databasePath } from '../data/databasePaths.js'
|
|
||||||
|
|
||||||
|
import { lotOccupancyDB as databasePath } from '../data/databasePaths.js'
|
||||||
import * as cacheFunctions from '../helpers/functions.cache.js'
|
import * as cacheFunctions from '../helpers/functions.cache.js'
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ describe('lot-occupancy-system', () => {
|
||||||
catch {
|
catch {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
it('Ensure server starts on port ' + portNumber.toString(), () => {
|
it(`Ensure server starts on port ${portNumber.toString()}`, () => {
|
||||||
assert.ok(serverStarted);
|
assert.ok(serverStarted);
|
||||||
});
|
});
|
||||||
describe('Cypress tests', () => {
|
describe('Cypress tests', () => {
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ describe('lot-occupancy-system', () => {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Ensure server starts on port ' + portNumber.toString(), () => {
|
it(`Ensure server starts on port ${portNumber.toString()}`, () => {
|
||||||
assert.ok(serverStarted)
|
assert.ok(serverStarted)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import * as assert from 'node:assert';
|
import assert from 'node:assert';
|
||||||
import fs from 'node:fs';
|
import fs from 'node:fs';
|
||||||
import { lotNameSortNameFunction } from '../data/config.cemetery.ssm.js';
|
import { lotNameSortNameFunction } from '../data/config.cemetery.ssm.js';
|
||||||
import * as cacheFunctions from '../helpers/functions.cache.js';
|
import * as cacheFunctions from '../helpers/functions.cache.js';
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
import * as assert from 'node:assert'
|
import assert from 'node:assert'
|
||||||
|
|
||||||
import fs from 'node:fs'
|
import fs from 'node:fs'
|
||||||
import { lotNameSortNameFunction } from '../data/config.cemetery.ssm.js'
|
|
||||||
|
|
||||||
|
import { lotNameSortNameFunction } from '../data/config.cemetery.ssm.js'
|
||||||
import * as cacheFunctions from '../helpers/functions.cache.js'
|
import * as cacheFunctions from '../helpers/functions.cache.js'
|
||||||
import * as iconFunctions from '../helpers/functions.icons.js'
|
import * as iconFunctions from '../helpers/functions.icons.js'
|
||||||
import * as sqlFilterFunctions from '../helpers/functions.sqlFilters.js'
|
import * as sqlFilterFunctions from '../helpers/functions.sqlFilters.js'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue