import * as vnUtils from './utils.js'; import { models } from './models/index.js'; import moment from 'moment'; // AƱade la hora a todos los console.log // console.log = (...args) => console.info(`${new moment().format('HH:mm:ss')} -`, ...args); async function main() { try { const env = process.env; let tokenExpirationDate = await vnUtils.getClientToken(models); if (JSON.parse(env.SYNC_SEQUENCE)) await vnUtils.syncSequence() if (JSON.parse(env.SYNC_SUPPLIER)) await vnUtils.syncSuppliers(); await vnUtils.syncConnections(); if (JSON.parse(env.SYNC_TRADEITEM)) await vnUtils.syncTradeItems(); console.log('Synced trade items'); try { while (true) { try{ console.log('Querying the API to check for new data...'); if (moment().isAfter(tokenExpirationDate)) { console.log('Token expired, getting a new one...'); tokenExpirationDate = await vnUtils.getClientToken(models); } await vnUtils.syncSupplyLines(); } catch (err) { console.error(err); } if (JSON.parse(env.IS_PRODUCTION)) await vnUtils.sleep(300000); else await vnUtils.sleep(120000); } } catch (err) { myErr(err); } } catch (err) { myErr(err); } } /** * Creates the connection to the database. * * @param {err} **/ function myErr(err) { console.log(`[ERROR]`.red.bold, `${err.name}: ${err.message}`.red); process.exit(); } main()