43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const log  = require('../utils/log.utils');            // Log Helper
 | |
| const db   = require('../services/dbAccess.services') // DB Access
 | |
| 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}'`)
 | |
|     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)}`)
 | |
|     return result
 | |
| }
 | |
| 
 | |
| async function cleanMessages(input){
 | |
|     var out = []
 | |
|     if (typeof input.message == "string") {
 | |
|         out.push(await san.cleanNrcc(input.message))
 | |
|     } else if (typeof input.message == "object") {
 | |
|         for(var i = 0; i < input.message.length; i++) {
 | |
|             out.push(await san.cleanNrcc(input.message[i]))
 | |
|         }
 | |
|     }
 | |
|     return out;
 | |
| }
 | |
| 
 | |
| // Accepts an object but not an Array and returns it wrapped in an array.
 | |
| async function cleanServices(input){
 | |
|     var out = []
 | |
|     if (!Array.isArray(input)) {
 | |
|         log.out(`ldbUtils.cleanServices: Transforming input: ${input}`)
 | |
|         out.push(input)
 | |
|         log.out(`ldbUtils.cleanServices: Returning output: ${out}`)
 | |
|         return out;
 | |
|     } else {
 | |
|         return input;
 | |
|     }
 | |
| }
 | |
| 
 | |
| module.exports = {
 | |
|     checkCrs,
 | |
|     cleanMessages,
 | |
|     cleanServices
 | |
| } |