const log = require("./sublog") const { BrowserWindow, app } = require("electron") const https = require('https'); const fs = require('fs'); const BWin = BrowserWindow const path = require("path") const decompress = require('decompress'); module.exports.checkUpdate = () => { log.update("Verification des mises a jour ... Processing !") fetch("https://git.raphix.fr/subsonics/manager/raw/branch/main/package.json").then(resp => resp.json()).then(resp => checkUpdateProcessing(resp)).catch(err => log.update("Erreur lors de la verification des mises a jour !")) } function checkUpdateProcessing(serverPackage) { const clientPackage = require("./package") if(serverPackage.version.replace(".", "") > clientPackage.version.replace(".", "")) { log.update("Verification des mises a jour ... Finish !") log.update("Mise a jour disponible ! Nouvelle version : " + serverPackage.version + " - Client : " + clientPackage.version + " - Git : " + serverPackage.version) update() } else { log.update("Verification des mises a jour ... Finish !") log.update("Cette version est la derniere version ! - Client : " + clientPackage.version + " - Git : " + serverPackage.version) } } function update() { const win = BWin.getFocusedWindow() win.loadFile("templates/update/update.html") log.update("Téléchargement de la mise à jour ... Processing !") if(fs.existsSync(__dirname + path.sep + "update.tar.gz")) { fs.rmSync("update.tar.gz") } const updatePack = fs.createWriteStream(__dirname + path.sep + "update.tar.gz"); const request = http.get("https://git.raphix.fr/subsonics/manager/archive/main.tar.gz", function(response) { response.pipe(file); // after download completed close filestream updatePack.on("finish", () => { updatePack.close(); log.update("Téléchargement de la mise à jour ... Finish !") install(__dirname + path.sep + "update.tar.gz") }); }); } function install(filename) { decompress(filename, 'tmp').then(files => { console.log('done!'); }); }