UNPKG

apc-domain

Version:
53 lines (44 loc) 2.05 kB
(async () => { require('dotenv').config() const chalk = require('chalk'); try { const bookshelf = require('./bsIgnition') const Services = require('./Models/service') const ServiceHeaders = require('./Models/serviceheader') const ServiceHelper = require('./Services.js') //enrich Models... const services = bookshelf.Model.extend(Services) const ServHeader = bookshelf.Model.extend(ServiceHeaders) const AllResults = await services.query(qb => { qb.select('description','ServiceCode','ServTime','Weekday','Saturday','Sunday') .innerJoin('serviceheader', 'ServiceDetail.ServiceKey', 'serviceheader.ServiceKey') .where('ServiceDetail.Active', 1) //.toString() }).fetchAll() const jsonServices = AllResults.toJSON() jsonServices.forEach((service) => { // Calculate additional properties for the service here (that are not defined in continuus) let additionalServiceProperties = ServiceHelper.SetAdditionalPropertiesForServiceCode( service.ServiceCode ) // Set the properties before saving service.MinDays = additionalServiceProperties.MinDays service.MaxDays = additionalServiceProperties.MaxDays service.LatestTime = additionalServiceProperties.LatestTime service.Window = additionalServiceProperties.Window }) const json = JSON.stringify(jsonServices); const fs = require('fs'); console.log(chalk.blue('💾 Saving Services List')) await fs.writeFile('servicesList.json', json, 'utf8',(err) => { if (err){ console.log(' ERROR: ' + err) } }); console.log(chalk.blue('✔ complete')) bookshelf.knex.destroy() } catch (error) { console.log(chalk.red.bold('🐞 Error Downloading APC Depot List')); console.log(chalk.red(error.message)) } })()