import * as fs from "fs"; import { Importer } from "../importer/Importer"; import { ExamResultSummaryParser } from "../models/concretes/ExamResultSummaryParser"; import { Parser } from "../parser/Parser"; import { ExamResultSummary } from "../models/concretes/ExamResultSummary"; import { mySqlConnection } from "@rolesvillesoftware/tiberhealthmodel/repositories"; import { School, AcademicYear, Exam } from "@rolesvillesoftware/tiberhealthmodel/dto"; export function testString(fileName: string, pExamName: string, pSchool: string, pAcademicYear: string) { let file = fs.readFileSync(fileName, { encoding: "utf-8", flag: "r" }); let dbConnection = new mySqlConnection({ host: "mysql.rolesvillesoftware.com", user: "tiber", password: "Tiber$45", database: "TiberDM" }, console); let school = new School(pSchool); let academicYear = new AcademicYear(pAcademicYear); let exam = new Exam(pExamName, academicYear); Promise.all( [ school.get(dbConnection), academicYear.get(dbConnection), ]) .then(_ => exam.getOrCreate(dbConnection) .then(_ => new Importer(dbConnection, ExamResultSummary, Parser, null, new ExamResultSummaryParser(dbConnection, exam, school)) .importContents(file) .then(result => { console.log("Completed"); dbConnection.dispose(); }) .catch(error => { console.log(error); dbConnection.dispose(); }) ) ) .catch(error => { console.error(error); dbConnection.dispose(); }); } function getParam(paramName: string) { const paramIndex = process.argv.findIndex(item => item === paramName); if (paramIndex < 0) { console.error(`missing parameter switch ${paramName}`); process.exit(1); } return process.argv[paramIndex + 1]; } const fileName = getParam("--file"); const school = getParam("--school"); const academicYear = getParam("--year"); const examName = getParam("--name"); testString(fileName, examName, school, academicYear); ;