// Parse and return an LDB Request

// FUNCTIONS
//  post(body, id): Exported:
            // body: [req.body from controller]
            // id  : [req.params.id from controller - this is expected to be CRS or TIPLOC]

//  convertTiploc(TIPLOC)  : Exported: Looks up CRS, Name & STANOX for Tiploc

const log      = require('../utils/log.utils');          // Log Helper

const ldb  = require('ldbs-json')
const util = require('../utils/ldb.utils')

const ldbKey   = process.env.OWL_LDB_KEY
const ldbsvKey = process.env.OWL_LDB_SVKEY

async function get(body, id){
    // Read request body for information on request
    // Check whether input is CRS or TIPLOC with util.checkInput(input)
    // if TIPLOC then convert to CRS,
    // then check whether staff is true or false,
    // then call the correct function and
    // return that output to calling function
    // for now, just call arrDepBoard(CRS) with the id from the url directly used - UNSAFE
    var output = await arrDepBoard(id)
    return output
}

async function arrDepBoard(CRS){
    var valid = await util.checkCrs(CRS)
    log.out(`ldbService: Fetching ArrDep Board for ${CRS}`)
    if (valid != false){
        var options = {
            numRows: 10,
            crs: CRS.toUpperCase()
        }
        var api = new ldb(ldbKey,false)
        var reply = await api.call("GetArrDepBoardWithDetails",options)
        return reply
    } else if (valid == false) {
        return {status: false, reason: "Invalid CRS/3alpha code"};
    }
};

module.exports = {
    get
}