import { Calculator, PevCalculator } from "./calculators"; import { Connection } from "@rolesvillesoftware/tsentity/dist"; import { SafePromise, Exception } from "@rolesvillesoftware/tools/dist"; import { ExamContext } from "./models/ExamContext"; import { Logger } from "./Logger"; const connection: Connection = new Connection("provider=mysql;host=mysql.rolesvillesoftware.com;user=tiber;password=Tiber$45;database=TiberDM"); async function runCalcs(): Promise { Logger.log("Launching PEV Calculator"); const context = new ExamContext(connection); Logger.log(`Initializing PEV Calculator`); const pevCalculator = Calculator.initialize(PevCalculator, context); Logger.log(`Starting Calculations`); const safeResult = await SafePromise.run(() => pevCalculator.calculate()); if (safeResult.isError) { throw new Exception(safeResult.error); } context.saveChanges(); Logger.log("PEV Calculator - Completed"); return true; } function main() { SafePromise.run(() => runCalcs()) .then(data => { if (data.isError) { console.error(data.error); } process.exit(0); }) .catch(error => { console.error(error); process.exit(1); }) } main();