Compare commits

..

No commits in common. "9ed80a8bea1c0a095c9f6cadc93c3d2f7b3d18fa" and "ce592d5cc153ebe1fa2189df26b25528eb09a155" have entirely different histories.

6 changed files with 38 additions and 26 deletions

View File

@ -1,4 +1,4 @@
FROM node:latest as builder FROM node:20 as builder
WORKDIR /usr/src/app WORKDIR /usr/src/app
COPY ./package*.json ./ COPY ./package*.json ./
COPY ./.npmrc ./ COPY ./.npmrc ./

13
package-lock.json generated
View File

@ -21,6 +21,7 @@
"mongodb": "^4.13.0", "mongodb": "^4.13.0",
"nodemailer": "^6.9.1", "nodemailer": "^6.9.1",
"pino": "^8.15.1", "pino": "^8.15.1",
"pino-http": "^8.5.0",
"redis": "^4.6.7", "redis": "^4.6.7",
"zlib": "^1.0.5" "zlib": "^1.0.5"
}, },
@ -4365,7 +4366,6 @@
"version": "2.0.5", "version": "2.0.5",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true,
"engines": { "engines": {
"node": "6.* || 8.* || >= 10.*" "node": "6.* || 8.* || >= 10.*"
} }
@ -6289,6 +6289,17 @@
"split2": "^4.0.0" "split2": "^4.0.0"
} }
}, },
"node_modules/pino-http": {
"version": "8.5.0",
"resolved": "https://registry.npmjs.org/pino-http/-/pino-http-8.5.0.tgz",
"integrity": "sha512-kLGKNLyfWfdmrG1Ug0YdYpCTGbNcuD/YGC3g+elRU/Cm44UTs+tj/dZTxDN3bYauekxFxdLZhJuZdKKl0cml9w==",
"dependencies": {
"get-caller-file": "^2.0.5",
"pino": "^8.0.0",
"pino-std-serializers": "^6.0.0",
"process-warning": "^2.0.0"
}
},
"node_modules/pino-std-serializers": { "node_modules/pino-std-serializers": {
"version": "6.2.2", "version": "6.2.2",
"resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz", "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz",

View File

@ -28,6 +28,7 @@
"mongodb": "^4.13.0", "mongodb": "^4.13.0",
"nodemailer": "^6.9.1", "nodemailer": "^6.9.1",
"pino": "^8.15.1", "pino": "^8.15.1",
"pino-http": "^8.5.0",
"redis": "^4.6.7", "redis": "^4.6.7",
"zlib": "^1.0.5" "zlib": "^1.0.5"
}, },

View File

@ -16,16 +16,16 @@ const db = client.db(dbName);
async function query(collection, query, returnId = false) { async function query(collection, query, returnId = false) {
await client.connect(); await client.connect();
logger.logger.trace(`dbAccess.query: Connecting to collection: '${collection}'`) logger.logger.debug(`dbAccess.query: Connecting to collection: '${collection}'`)
var qcoll = db.collection(collection); var qcoll = db.collection(collection);
var qcursor = qcoll.find(query); var qcursor = qcoll.find(query);
if (!returnId) { if (!returnId) {
qcursor.project({ _id: 0 }); qcursor.project({ _id: 0 });
} }
logger.logger.trace(query, "dbAccess.query: Runnung Query") logger.logger.debug(query, "dbAccess.query: Runnung Query")
increment(collection); increment(collection);
let result = await qcursor.toArray(); let result = await qcursor.toArray();
logger.logger.trace(result, "dbAccess.query: Response"); logger.logger.debug(result, "dbAccess.query: Response");
return result; return result;
} }

View File

@ -1,12 +1,11 @@
// Parse and return an LDB Request // Parse and return an LDB Request
const log = require("../utils/logs.utils"); // Log Helper
const ldb = require("ldbs-json"); const ldb = require("ldbs-json");
const util = require("../utils/ldb.utils"); const util = require("../utils/ldb.utils");
const san = require("../utils/sanitizer.utils"); const san = require("../utils/sanitizer.utils");
const db = require("../services/dbAccess.services"); const db = require("../services/dbAccess.services");
import { logger } from "../utils/logger.utils";
import { transform as staffStationTransform } from "../utils/translators/ldb/staffStation"; import { transform as staffStationTransform } from "../utils/translators/ldb/staffStation";
import { msgCodes } from "../configs/errorCodes.configs"; import { msgCodes } from "../configs/errorCodes.configs";
@ -18,7 +17,7 @@ async function get(id, staff = false) {
const obj = await util.checkCrs(cleanId); const obj = await util.checkCrs(cleanId);
try { try {
const crs = obj[0]["3ALPHA"]; const crs = obj[0]["3ALPHA"];
logger.debug(`ldbService.get: Determined CRS for lookup to be: ${crs}`) log.out(`ldbService.get: Determined CRS for lookup to be: ${crs}`, "info");
if (staff) { if (staff) {
const data = arrDepBoardStaff(crs); const data = arrDepBoardStaff(crs);
db.increment("ldbsvws"); db.increment("ldbsvws");
@ -29,7 +28,7 @@ async function get(id, staff = false) {
return await data; return await data;
} }
} catch (err) { } catch (err) {
logger.error(err, "ldbService.get: Error, Unable to find CRS") log.out(`ldbService.get: Error, Unable to find CRS: ${err}`, "info");
return { return {
obStatus: "LOC_NOT_FOUND", obStatus: "LOC_NOT_FOUND",
obMsg: "UNABLE TO FIND MESSAGE", obMsg: "UNABLE TO FIND MESSAGE",
@ -38,7 +37,7 @@ async function get(id, staff = false) {
} }
async function arrDepBoard(CRS) { async function arrDepBoard(CRS) {
logger.trace(`ldbService.arrDepBoard: Trying to fetch board for ${CRS}`) log.out(`ldbService.arrDepBoard: Trying to fetch board for ${CRS}`, "info");
try { try {
const options = { const options = {
numRows: 10, numRows: 10,
@ -48,7 +47,7 @@ async function arrDepBoard(CRS) {
let d = await api.call("GetArrDepBoardWithDetails", options, false, false); let d = await api.call("GetArrDepBoardWithDetails", options, false, false);
return await util.cleanData(d); return await util.cleanData(d);
} catch (err) { } catch (err) {
logger.error(err, "ldbService.arrDepBoard: Lookup Failed") log.out(`ldbService.arrDepBoard: Lookup Failed for: ${CRS}`, "warn");
return { return {
GetStationBoardResult: "not available", GetStationBoardResult: "not available",
Reason: `The CRS code ${CRS} is not valid`, Reason: `The CRS code ${CRS} is not valid`,
@ -57,7 +56,7 @@ async function arrDepBoard(CRS) {
} }
async function arrDepBoardStaff(CRS) { async function arrDepBoardStaff(CRS) {
logger.debug(`ldbService.arrDepBoardStaff: Try to fetch board for ${CRS}`) log.out(`ldbService.arrDepBoardStaff: Try to fetch board for ${CRS}`, "dbug");
try { try {
const options = { const options = {
numRows: 40, numRows: 40,
@ -75,24 +74,23 @@ async function arrDepBoardStaff(CRS) {
false, false,
false false
); );
console.log("\n\n\nORIGINAL DATA")
console.log("\n" + JSON.stringify(result) + "\n\n\n")
console.timeEnd(`Fetch Staff LDB for ${CRS.toUpperCase()}`); console.timeEnd(`Fetch Staff LDB for ${CRS.toUpperCase()}`);
try { try {
const _staffLdb = staffStationTransform(result); const _staffLdb = staffStationTransform(result);
logger.debug("StaffLDB Transformed") console.log("Transformation Test Successful");
logger.trace(_staffLdb, "StaffLDB Transformed") console.log(JSON.stringify(_staffLdb));
return { return {
obStatus: "OK", obStatus: "OK",
obMsg: "OK", obMsg: "OK",
data: _staffLdb, data: _staffLdb,
}; };
} catch (err) { } catch (err) {
logger.error(err, "Transformation Error") console.log("Transformation Test Failed: " + err);
} }
return result; return result;
} catch (err) { } catch (err) {
logger.error(err, "ldbService.arrDepBoardStaff error") log.out(`ldbService.arrDepBoardStaff: Lookup Failed for: ${CRS}`, "warn");
log.out(`ldbService.arrDepBoardStaff: ${err}`);
return { return {
GetStationBoardResult: "not available", GetStationBoardResult: "not available",
Reason: `The CRS code ${CRS} is not valid`, Reason: `The CRS code ${CRS} is not valid`,
@ -101,7 +99,7 @@ async function arrDepBoardStaff(CRS) {
} }
async function getServiceByRID(rid) { async function getServiceByRID(rid) {
logger.debug(`ldbService.getServiceByRID: Finding RID: ${rid}`); log.out(`ldbService.getServiceByRID: Finding RID: ${rid}`, "dbug");
try { try {
const options = { const options = {
rid: String(rid), rid: String(rid),
@ -109,12 +107,12 @@ async function getServiceByRID(rid) {
const api = new ldb(ldbsvKey, true); const api = new ldb(ldbsvKey, true);
return await api.call("GetServiceDetailsByRID", options, false, false); return await api.call("GetServiceDetailsByRID", options, false, false);
} catch (err) { } catch (err) {
logger.error(err, `ldbService.queryService`); log.out(`ldbService.queryService: ${err}`, "EROR");
} }
} }
async function getServicesByOther(id) { async function getServicesByOther(id) {
logger.debug(`ldbService.getServiceByOther: Finding services: ${id}`); log.out(`ldbService.getServiceByOther: Finding services: ${id}`, "dbug");
try { try {
const options = { const options = {
serviceID: id, serviceID: id,
@ -123,30 +121,30 @@ async function getServicesByOther(id) {
const api = new ldb(ldbsvKey, true); const api = new ldb(ldbsvKey, true);
return await api.call("QueryServices", options, false, false); return await api.call("QueryServices", options, false, false);
} catch (err) { } catch (err) {
logger.error(err, "ldbService.getServiceByOther") log.out(`ldbService.getServiceByOther: Error: ${err}`, "EROR");
return false; return false;
} }
} }
async function getReasonCodeList() { async function getReasonCodeList() {
logger.debug("ldbService.getReasonCodeList: Fetching reason code list") log.out("ldbService.getReasonCodeList: Fetching reason code list", "eror");
try { try {
const dbFilter = {}; const dbFilter = {};
return await db.query("reasonCodes", dbFilter, false); return await db.query("reasonCodes", dbFilter, false);
} catch (err) { } catch (err) {
logger.error(err, "ldbService.getReasonCodeList") log.out(`ldbService.getReasonCodeList: ${err}`, "eror");
} }
} }
async function getReasonCode(code) { async function getReasonCode(code) {
logger.debug(`ldbService.getReasonCode: Fetching reason code ${code}`); log.out(`ldbService.getReasonCode: Fetching reason code ${code}`, "dbug");
try { try {
const dbFilter = { const dbFilter = {
code: code, code: code,
}; };
return await db.query("reasonCodes", dbFilter, false); return await db.query("reasonCodes", dbFilter, false);
} catch (err) { } catch (err) {
logger.error(err, "ldbService.getReasonCode") log.out(`ldbService.getReasonCode: ${err}`, "eror");
} }
} }

View File

@ -8,6 +8,8 @@ let level: string
level = "debug" level = "debug"
} }
console.log(`Runtime mode: ${runtime || "dev"}, Log Level: ${level}`)
export const logger = pino({ export const logger = pino({
level: level, level: level,
formatters: { formatters: {