string concat cleanup

deepsource-autofix-76c6eb20
Dan Gowans 2023-11-29 14:27:00 -05:00
parent c572a929ac
commit cc6de92bdc
11 changed files with 89 additions and 107 deletions

42
app.js
View File

@ -59,15 +59,15 @@ app.use(rateLimit({
}));
const urlPrefix = configFunctions.getProperty('reverseProxy.urlPrefix');
if (urlPrefix !== '') {
debug('urlPrefix = ' + urlPrefix);
debug(`urlPrefix = ${urlPrefix}`);
}
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/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/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/randomcolor/randomColor.js', express.static(path.join('node_modules', 'randomcolor', 'randomColor.js')));
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-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/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')));
const sessionCookieName = configFunctions.getProperty('session.cookieName');
const FileStoreSession = FileStore(session);
app.use(session({
@ -115,24 +115,24 @@ app.use((request, response, next) => {
next();
});
app.get(urlPrefix + '/', sessionChecker, (_request, response) => {
response.redirect(urlPrefix + '/dashboard');
response.redirect(`${urlPrefix}/dashboard`);
});
app.use(urlPrefix + '/dashboard', sessionChecker, routerDashboard);
app.use(urlPrefix + '/api/:apiKey', permissionHandlers.apiGetHandler, routerApi);
app.use(urlPrefix + '/print', sessionChecker, routerPrint);
app.use(urlPrefix + '/maps', sessionChecker, routerMaps);
app.use(urlPrefix + '/lots', sessionChecker, routerLots);
app.use(urlPrefix + '/lotOccupancies', sessionChecker, routerLotOccupancies);
app.use(urlPrefix + '/workOrders', sessionChecker, routerWorkOrders);
app.use(urlPrefix + '/reports', sessionChecker, routerReports);
app.use(urlPrefix + '/admin', sessionChecker, permissionHandlers.adminGetHandler, routerAdmin);
app.use(`${urlPrefix}/dashboard`, sessionChecker, routerDashboard);
app.use(`${urlPrefix}/api/:apiKey`, permissionHandlers.apiGetHandler, routerApi);
app.use(`${urlPrefix}/print`, sessionChecker, routerPrint);
app.use(`${urlPrefix}/maps`, sessionChecker, routerMaps);
app.use(`${urlPrefix}/lots`, sessionChecker, routerLots);
app.use(`${urlPrefix}/lotOccupancies`, sessionChecker, routerLotOccupancies);
app.use(`${urlPrefix}/workOrders`, sessionChecker, routerWorkOrders);
app.use(`${urlPrefix}/reports`, sessionChecker, routerReports);
app.use(`${urlPrefix}/admin`, sessionChecker, permissionHandlers.adminGetHandler, routerAdmin);
if (configFunctions.getProperty('session.doKeepAlive')) {
app.all(urlPrefix + '/keepAlive', (_request, response) => {
app.all(`${urlPrefix}/keepAlive`, (_request, response) => {
response.json(true);
});
}
app.use(urlPrefix + '/login', routerLogin);
app.get(urlPrefix + '/logout', (request, response) => {
app.use(`${urlPrefix}/login`, routerLogin);
app.get(`${urlPrefix}/logout`, (request, response) => {
if (Object.hasOwn(request.session, 'user') &&
Object.hasOwn(request.cookies, sessionCookieName)) {
request.session.destroy(() => {
@ -146,6 +146,6 @@ app.get(urlPrefix + '/logout', (request, response) => {
});
app.use((request, _response, next) => {
debug(request.url);
next(createError(404, 'File not found: ' + request.url));
next(createError(404, `File not found: ${request.url}`));
});
export default app;

42
app.ts
View File

@ -99,42 +99,42 @@ app.use(
const urlPrefix = configFunctions.getProperty('reverseProxy.urlPrefix')
if (urlPrefix !== '') {
debug('urlPrefix = ' + urlPrefix)
debug(`urlPrefix = ${urlPrefix}`)
}
app.use(urlPrefix, express.static(path.join('public')))
app.use(
urlPrefix + '/lib/bulma-calendar',
`${urlPrefix}/lib/bulma-calendar`,
express.static(path.join('node_modules', 'bulma-calendar', 'dist'))
)
app.use(
urlPrefix + '/lib/cityssm-bulma-js/bulma-js.js',
`${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',
`${urlPrefix}/lib/cityssm-bulma-webapp-js`,
express.static(
path.join('node_modules', '@cityssm', 'bulma-webapp-js', 'dist')
)
)
app.use(
urlPrefix + '/lib/fa',
`${urlPrefix}/lib/fa`,
express.static(path.join('node_modules', '@fortawesome', 'fontawesome-free'))
)
app.use(
urlPrefix + '/lib/leaflet',
`${urlPrefix}/lib/leaflet`,
express.static(path.join('node_modules', 'leaflet', 'dist'))
)
app.use(
urlPrefix + '/lib/randomcolor/randomColor.js',
`${urlPrefix}/lib/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) => {
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',
`${urlPrefix}/api/:apiKey`,
permissionHandlers.apiGetHandler as RequestHandler,
routerApi
)
app.use(urlPrefix + '/print', sessionChecker, routerPrint)
app.use(urlPrefix + '/maps', sessionChecker, routerMaps)
app.use(urlPrefix + '/lots', sessionChecker, routerLots)
app.use(urlPrefix + '/lotOccupancies', sessionChecker, routerLotOccupancies)
app.use(urlPrefix + '/workOrders', sessionChecker, routerWorkOrders)
app.use(`${urlPrefix}/print`, sessionChecker, routerPrint)
app.use(`${urlPrefix}/maps`, sessionChecker, routerMaps)
app.use(`${urlPrefix}/lots`, sessionChecker, routerLots)
app.use(`${urlPrefix}/lotOccupancies`, sessionChecker, routerLotOccupancies)
app.use(`${urlPrefix}/workOrders`, sessionChecker, routerWorkOrders)
app.use(urlPrefix + '/reports', sessionChecker, routerReports)
app.use(`${urlPrefix}/reports`, sessionChecker, routerReports)
app.use(
urlPrefix + '/admin',
`${urlPrefix}/admin`,
sessionChecker,
permissionHandlers.adminGetHandler,
routerAdmin
)
if (configFunctions.getProperty('session.doKeepAlive')) {
app.all(urlPrefix + '/keepAlive', (_request, response) => {
app.all(`${urlPrefix}/keepAlive`, (_request, response) => {
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') &&
Object.hasOwn(request.cookies, sessionCookieName)
@ -276,7 +276,7 @@ app.get(urlPrefix + '/logout', (request, response) => {
// Catch 404 and forward to error handler
app.use((request, _response, next) => {
debug(request.url)
next(createError(404, 'File not found: ' + request.url))
next(createError(404, `File not found: ${request.url}`))
})
export default app

View File

@ -79,14 +79,14 @@ function getMapByMapDescription(mapDescription) {
return map;
}
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) {
return ('00' + hour).slice(-2) + ':' + ('00' + minute).slice(-2);
return `00${hour}`.slice(-2) + ':' + `00${minute}`.slice(-2);
}
const cemeteryToMapName = {
'00': 'Crematorium',
@ -109,7 +109,7 @@ async function getMap(dataRow) {
}
let map = getMapByMapDescription(mapCacheKey);
if (!map) {
console.log('Creating map: ' + dataRow.cemetery);
console.log(`Creating map: ${dataRow.cemetery}`);
const mapId = await addMap({
mapName: cemeteryToMapName[dataRow.cemetery] ?? dataRow.cemetery,
mapDescription: dataRow.cemetery,
@ -239,7 +239,7 @@ async function importFromMasterCSV() {
lotOccupancyId: preneedLotOccupancyId,
lotOccupancyCommentDateString: preneedOccupancyStartDateString,
lotOccupancyCommentTimeString: '00:00',
lotOccupancyComment: 'Imported Contract #' + masterRow.CM_WORK_ORDER
lotOccupancyComment: `Imported Contract #${masterRow.CM_WORK_ORDER}`
}, user);
}
if (occupancyEndDateString === '') {
@ -386,7 +386,7 @@ async function importFromMasterCSV() {
lotOccupancyId: deceasedLotOccupancyId,
lotOccupancyCommentDateString: deceasedOccupancyStartDateString,
lotOccupancyCommentTimeString: '00:00',
lotOccupancyComment: 'Imported Contract #' + masterRow.CM_WORK_ORDER
lotOccupancyComment: `Imported Contract #${masterRow.CM_WORK_ORDER}`
}, user);
}
await updateLotStatus(lotId, importIds.takenLotStatusId, user);
@ -508,7 +508,7 @@ async function importFromPrepaidCSV() {
occupantAddress2: '',
occupantCity: prepaidRow.CMPP_CITY,
occupantProvince: prepaidRow.CMPP_PROV.slice(0, 2),
occupantPostalCode: prepaidRow.CMPP_POSTAL1 + ' ' + prepaidRow.CMPP_POSTAL2,
occupantPostalCode: `${prepaidRow.CMPP_POSTAL1} ${prepaidRow.CMPP_POSTAL2}`,
occupantPhoneNumber: '',
occupantEmailAddress: ''
}, user);
@ -625,7 +625,7 @@ async function importFromPrepaidCSV() {
externalReceiptNumber: '',
transactionAmount,
transactionDateString: occupancyStartDateString,
transactionNote: 'Order Number: ' + prepaidRow.CMPP_ORDER_NO
transactionNote: `Order Number: ${prepaidRow.CMPP_ORDER_NO}`
}, user);
if (prepaidRow.CMPP_REMARK1) {
await addLotOccupancyComment({
@ -664,7 +664,7 @@ async function importFromWorkOrderCSV() {
const currentDateString = dateToString(new Date());
try {
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);
const workOrderOpenDateString = dateIntegerToString(Number.parseInt(workOrderRow.WO_INITIATION_DATE, 10));
if (workOrder) {
@ -678,11 +678,7 @@ async function importFromWorkOrderCSV() {
const workOrderId = await addWorkOrder({
workOrderNumber,
workOrderTypeId: importIds.workOrderTypeId,
workOrderDescription: (workOrderRow.WO_REMARK1 +
' ' +
workOrderRow.WO_REMARK2 +
' ' +
workOrderRow.WO_REMARK3).trim(),
workOrderDescription: `${workOrderRow.WO_REMARK1} ${workOrderRow.WO_REMARK2} ${workOrderRow.WO_REMARK3}`.trim(),
workOrderOpenDateString
}, user);
workOrder = await getWorkOrder(workOrderId, {
@ -757,7 +753,7 @@ async function importFromWorkOrderCSV() {
occupantAddress2: '',
occupantCity: workOrderRow.WO_CITY,
occupantProvince: workOrderRow.WO_PROV.slice(0, 2),
occupantPostalCode: workOrderRow.WO_POST1 + ' ' + workOrderRow.WO_POST2,
occupantPostalCode: `${workOrderRow.WO_POST1} ${workOrderRow.WO_POST2}`,
occupantPhoneNumber: '',
occupantEmailAddress: ''
}, user);
@ -941,7 +937,7 @@ async function importFromWorkOrderCSV() {
workOrderId: workOrder.workOrderId,
workOrderMilestoneTypeId: importIds.intermentWorkOrderMilestoneTypeId,
workOrderMilestoneDateString,
workOrderMilestoneDescription: 'Depth: ' + workOrderRow.WO_DEPTH,
workOrderMilestoneDescription: `Depth: ${workOrderRow.WO_DEPTH}`,
workOrderMilestoneCompletionDateString: workOrderMilestoneDateString < currentDateString
? workOrderMilestoneDateString
: undefined,

View File

@ -246,16 +246,16 @@ function getMapByMapDescription(mapDescription: string): recordTypes.MapRecord {
function formatDateString(year: string, month: string, day: string): string {
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 {
return ('00' + hour).slice(-2) + ':' + ('00' + minute).slice(-2)
return `00${hour}`.slice(-2) + ':' + `00${minute}`.slice(-2)
}
const cemeteryToMapName = {
@ -293,7 +293,7 @@ async function getMap(dataRow: {
let map = getMapByMapDescription(mapCacheKey)
if (!map) {
console.log('Creating map: ' + dataRow.cemetery)
console.log(`Creating map: ${dataRow.cemetery}`)
const mapId = await addMap(
{
@ -496,8 +496,7 @@ async function importFromMasterCSV(): Promise<void> {
lotOccupancyId: preneedLotOccupancyId,
lotOccupancyCommentDateString: preneedOccupancyStartDateString,
lotOccupancyCommentTimeString: '00:00',
lotOccupancyComment:
'Imported Contract #' + masterRow.CM_WORK_ORDER
lotOccupancyComment: `Imported Contract #${masterRow.CM_WORK_ORDER}`
},
user
)
@ -766,8 +765,7 @@ async function importFromMasterCSV(): Promise<void> {
lotOccupancyId: deceasedLotOccupancyId,
lotOccupancyCommentDateString: deceasedOccupancyStartDateString,
lotOccupancyCommentTimeString: '00:00',
lotOccupancyComment:
'Imported Contract #' + masterRow.CM_WORK_ORDER
lotOccupancyComment: `Imported Contract #${masterRow.CM_WORK_ORDER}`
},
user
)
@ -932,8 +930,7 @@ async function importFromPrepaidCSV(): Promise<void> {
occupantAddress2: '',
occupantCity: prepaidRow.CMPP_CITY,
occupantProvince: prepaidRow.CMPP_PROV.slice(0, 2),
occupantPostalCode:
prepaidRow.CMPP_POSTAL1 + ' ' + prepaidRow.CMPP_POSTAL2,
occupantPostalCode: `${prepaidRow.CMPP_POSTAL1} ${prepaidRow.CMPP_POSTAL2}`,
occupantPhoneNumber: '',
occupantEmailAddress: ''
},
@ -1098,7 +1095,7 @@ async function importFromPrepaidCSV(): Promise<void> {
externalReceiptNumber: '',
transactionAmount,
transactionDateString: occupancyStartDateString,
transactionNote: 'Order Number: ' + prepaidRow.CMPP_ORDER_NO
transactionNote: `Order Number: ${prepaidRow.CMPP_ORDER_NO}`
},
user
)
@ -1154,7 +1151,7 @@ async function importFromWorkOrderCSV(): Promise<void> {
try {
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)
@ -1173,13 +1170,8 @@ async function importFromWorkOrderCSV(): Promise<void> {
{
workOrderNumber,
workOrderTypeId: importIds.workOrderTypeId,
workOrderDescription: (
workOrderRow.WO_REMARK1 +
' ' +
workOrderRow.WO_REMARK2 +
' ' +
workOrderRow.WO_REMARK3
).trim(),
workOrderDescription:
`${workOrderRow.WO_REMARK1} ${workOrderRow.WO_REMARK2} ${workOrderRow.WO_REMARK3}`.trim(),
workOrderOpenDateString
},
user
@ -1287,8 +1279,7 @@ async function importFromWorkOrderCSV(): Promise<void> {
occupantAddress2: '',
occupantCity: workOrderRow.WO_CITY,
occupantProvince: workOrderRow.WO_PROV.slice(0, 2),
occupantPostalCode:
workOrderRow.WO_POST1 + ' ' + workOrderRow.WO_POST2,
occupantPostalCode: `${workOrderRow.WO_POST1} ${workOrderRow.WO_POST2}`,
occupantPhoneNumber: '',
occupantEmailAddress: ''
},
@ -1510,8 +1501,7 @@ async function importFromWorkOrderCSV(): Promise<void> {
workOrderId: workOrder.workOrderId!,
workOrderMilestoneTypeId: importIds.deathWorkOrderMilestoneTypeId,
workOrderMilestoneDateString,
workOrderMilestoneDescription:
`Death Place: ${workOrderRow.WO_DEATH_PLACE}`,
workOrderMilestoneDescription: `Death Place: ${workOrderRow.WO_DEATH_PLACE}`,
workOrderMilestoneCompletionDateString:
workOrderMilestoneDateString < currentDateString
? workOrderMilestoneDateString
@ -1620,7 +1610,7 @@ async function importFromWorkOrderCSV(): Promise<void> {
workOrderMilestoneTypeId:
importIds.intermentWorkOrderMilestoneTypeId,
workOrderMilestoneDateString,
workOrderMilestoneDescription: 'Depth: ' + workOrderRow.WO_DEPTH,
workOrderMilestoneDescription: `Depth: ${workOrderRow.WO_DEPTH}`,
workOrderMilestoneCompletionDateString:
workOrderMilestoneDateString < currentDateString
? workOrderMilestoneDateString

View File

@ -2,19 +2,16 @@ import * as importIds from './legacy.importFromCsv.ids.js';
export function buildLotName(lotNamePieces) {
return (lotNamePieces.cemetery +
'-' +
(lotNamePieces.block === '' ? '' : 'B' + lotNamePieces.block + '-') +
(lotNamePieces.block === '' ? '' : `B${lotNamePieces.block}-`) +
(lotNamePieces.range1 === '0' && lotNamePieces.range2 === ''
? ''
: 'R' +
(lotNamePieces.range1 === '0' ? '' : lotNamePieces.range1) +
lotNamePieces.range2 +
'-') +
: `R${lotNamePieces.range1 === '0' ? '' : lotNamePieces.range1}${lotNamePieces.range2}-`) +
(lotNamePieces.lot1 === '0' && lotNamePieces.lot2 === ''
? ''
: 'L' + lotNamePieces.lot1 + lotNamePieces.lot2 + '-') +
('G' + lotNamePieces.grave1 + lotNamePieces.grave2) +
: `L${lotNamePieces.lot1}${lotNamePieces.lot2}-`) +
`G${lotNamePieces.grave1}${lotNamePieces.grave2}` +
', ' +
('Interment ' + lotNamePieces.interment));
`Interment ${lotNamePieces.interment}`);
}
export function getFuneralHomeLotOccupancyOccupantData(funeralHomeKey) {
switch (funeralHomeKey) {

View File

@ -16,19 +16,18 @@ export function buildLotName(lotNamePieces: {
return (
lotNamePieces.cemetery +
'-' +
(lotNamePieces.block === '' ? '' : 'B' + lotNamePieces.block + '-') +
(lotNamePieces.block === '' ? '' : `B${lotNamePieces.block}-`) +
(lotNamePieces.range1 === '0' && lotNamePieces.range2 === ''
? ''
: 'R' +
(lotNamePieces.range1 === '0' ? '' : lotNamePieces.range1) +
lotNamePieces.range2 +
'-') +
: `R${lotNamePieces.range1 === '0' ? '' : lotNamePieces.range1}${
lotNamePieces.range2
}-`) +
(lotNamePieces.lot1 === '0' && lotNamePieces.lot2 === ''
? ''
: 'L' + lotNamePieces.lot1 + lotNamePieces.lot2 + '-') +
('G' + lotNamePieces.grave1 + lotNamePieces.grave2) +
: `L${lotNamePieces.lot1}${lotNamePieces.lot2}-`) +
`G${lotNamePieces.grave1}${lotNamePieces.grave2}` +
', ' +
('Interment ' + lotNamePieces.interment)
`Interment ${lotNamePieces.interment}`
)
}

View File

@ -1,8 +1,9 @@
// eslint-disable-next-line eslint-comments/disable-enable-pair
/* eslint-disable unicorn/no-await-expression-member */
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'
/*

View File

@ -36,7 +36,7 @@ describe('lot-occupancy-system', () => {
catch {
}
});
it('Ensure server starts on port ' + portNumber.toString(), () => {
it(`Ensure server starts on port ${portNumber.toString()}`, () => {
assert.ok(serverStarted);
});
describe('Cypress tests', () => {

View File

@ -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)
})

View File

@ -1,4 +1,4 @@
import * as assert from 'node:assert';
import assert from 'node:assert';
import fs from 'node:fs';
import { lotNameSortNameFunction } from '../data/config.cemetery.ssm.js';
import * as cacheFunctions from '../helpers/functions.cache.js';

View File

@ -1,8 +1,7 @@
import * as assert from 'node:assert'
import assert from 'node:assert'
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 iconFunctions from '../helpers/functions.icons.js'
import * as sqlFilterFunctions from '../helpers/functions.sqlFilters.js'