71 lines
2.1 KiB
JavaScript
71 lines
2.1 KiB
JavaScript
|
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!');
|
||
|
});
|
||
|
|
||
|
}
|