const { LogType } = require("loguix")
const fs = require("fs")
const path = require("path")
const { __glob } = require("./global-variables")
const clog = new LogType("Configuration")

setup()

function setup() {
    if(!fs.existsSync(__glob.CONFIG)) {
        clog.log("Création du fichier de configuration dans : " + __glob.CONFIG)
        fs.writeFileSync(__glob.CONFIG, JSON.stringify({
            ENCRYPTION_KEY: "1",
        }, null, 2))
    }
}

/**
 * 
 * @returns Config File
 */
module.exports.getFile = function () {
    const file = JSON.parse(fs.readFileSync(__glob.CONFIG))
    return file
}

/**
 * Update le fichier configuration avec un object
 * @param {Array} file 
 */
module.exports.updateFile = function (file) {
    if(fs.existsSync(__glob.CONFIG)) {
        clog.log("Mise à jour du fichier configuration dans : " + __glob.CONFIG)
        fs.writeFileSync(__glob.CONFIG, JSON.stringify(file, null, 2))
    }
}

module.exports.getSettings = function () {
    const file = this.getFile()
    return {"jenkins_token": file.JENKINS_TOKEN, "omega_token": file.OMEGA_KEY}
}

module.exports.saveSettings = function (settings) {
    const file = this.getFile()
    file.JENKINS_TOKEN = settings.jenkins_token
    file.OMEGA_KEY = settings.omega_token
    this.updateFile(file)
}
