From 201f1d06427631c058c3c512f2cf9cb6444f7a9e Mon Sep 17 00:00:00 2001 From: Fred Boniface Date: Mon, 24 Apr 2023 01:16:48 +0100 Subject: [PATCH] Adjust sanitizer functions, tidy mongo queries. Signed-off-by: Fred Boniface --- src/services/pis.services.js | 17 ++++++++++++++++- src/utils/ldb.utils.js | 10 ++++++++-- src/utils/sanitizer.utils.js | 17 ++++++++++++----- 3 files changed, 36 insertions(+), 8 deletions(-) diff --git a/src/services/pis.services.js b/src/services/pis.services.js index d7f6891..58861ed 100644 --- a/src/services/pis.services.js +++ b/src/services/pis.services.js @@ -8,7 +8,22 @@ async function findPisByOrigDest(start,end) { log.out(`pisServices.findPisByOrigDest: Searching for PIS for Orig: ${start}, Dest: ${end}`, "dbug") const firstCrs = clean.cleanApiEndpointTxt(start.toLowerCase()) const lastCrs = clean.cleanApiEndpointTxt(end.toLowerCase()) - const query = {stops: {$elemMatch: {$eq: firstCrs, $position: 0}}, stops: {$elemMatch: {$eq: lastCrs, $position: {$exists: false}}}} + const query = { + stops: { + $elemMatch: { + $eq: firstCrs, + $position: 0 + } + }, + stops: { + $elemMatch: { + $eq: lastCrs, + $position: { + $exists: false + } + } + } + } const oldQuery = {$and:[{$expr:{$eq:[{$first:"$stops"},firstCrs]}},{$expr:{$eq:[{$last:"$stops"},lastCrs]}}]} const search = db.query("pis", query) return search diff --git a/src/utils/ldb.utils.js b/src/utils/ldb.utils.js index c6c25e4..fa6882d 100644 --- a/src/utils/ldb.utils.js +++ b/src/utils/ldb.utils.js @@ -4,8 +4,14 @@ const san = require('../utils/sanitizer.utils') // Sanitiser async function checkCrs(input){ var INPUT = input.toUpperCase() - log.out(`ldbUtils.checkCrs: Building database query to find: '${INPUT}'`, "dbug") - var query = {'$or':[{'3ALPHA':INPUT},{'TIPLOC':INPUT},{'STANOX':INPUT}]}; + log.out(`ldbUtils.checkCrs: Building database query to find: '${INPUT}'`, "info") + var query = { + '$or':[ + {'3ALPHA':INPUT}, + {'TIPLOC':INPUT}, + {'STANOX':INPUT} + ] + }; var result = await db.query("stations", query) log.out(`ldbUtils.checkCrs: Query results: ${JSON.stringify(result)}`, "dbug") return result diff --git a/src/utils/sanitizer.utils.js b/src/utils/sanitizer.utils.js index 491188f..55fa00a 100644 --- a/src/utils/sanitizer.utils.js +++ b/src/utils/sanitizer.utils.js @@ -16,6 +16,14 @@ string.addDash("@abcd efgh"); // @abcd-efgh string.removeSpace("@abcd efgh"); // @abcdefgh */ +function removeNonAlphanumeric(inputString) { // Should be able to replace sanitizer module + return inputString.replace(/[^a-zA-Z0-9]/g, ''); +} + +function removeNonAlpha(inputString) { // Should be able to replace sanitizer module + return inputString.replace(/[^a-zA-Z]/g, ''); + } + function cleanApiEndpointTxt(input) { var output = clean.sanitize.keepSpace(input) if (output != input){ @@ -32,11 +40,10 @@ function cleanApiEndpointNum(input) { return output } -function cleanNrcc(input) { - var rmNewline = input.replace(/[\n\r]/g, ""); // Remove newlines - var rmPara = rmNewline.replace(/<\/?p[^>]*>/g, ""); // Remove

&

- return rmPara; -} +function cleanNrcc(input) { // Remove newlines and then

tags from input + const cleanInput = input.replace(/[\n\r]/g, '').replace(/<\/?p[^>]*>/g, ''); + return cleanInput; + } async function getDomainFromEmail(mail) { // Needs testing split = mail.split("@")