import { IConfig } from "../../interfaces/config";
import * as fse from "fs-extra";

export function generate(config: IConfig) {
    const datasourceConfigFile = (`
import { Sequelize } from 'sequelize-typescript';
import * as path from "path";
require('dotenv').config();

export const conn =  new Sequelize({
    host: process.env.MYSQL_HOST,
    database: process.env.MYSQL_DB,
    dialect: '${config.DATABASE_CONNECTION_SETINGS[config.ENV].dialect}',
    dialectOptions: {
        supportBigNumbers: true,
        encrypt: true
    },
    username: process.env.MYSQL_USERNAME,
    // setup pool here
    // pool: {
    // 	max: 5,
    // 	min: 0,
    // 	idle: 10000
    // },
    password: process.env.MYSQL_PASS,
    modelPaths: [path.join(__dirname, "..", '/daos')],
    omitNull: true  // allows auto-increment on primary key
});

    `);
    fse.outputFileSync(`${config.ORM_GENERATE.path.sequelizeConfig}`, datasourceConfigFile, "utf8");

}
