Files
CDN-APP-INSIDER/Middlewares/checkUpdate.js

34 lines
1.3 KiB
JavaScript

const fetch = (...args) => import('node-fetch').then(({ default: fetch }) => fetch(...args));
const semver = require('semver');
async function checkUpdates(req, res) {
try {
const { version: currentVersion } = require('../package.json');
const response = await fetch('https://apollon.dinawo.fr/api/get/version');
const data = await response.json();
if (data && data.update && data.update.version) {
const latestVersion = data.update.version;
const comparisonResult = semver.compare(currentVersion, latestVersion);
if (comparisonResult < 0) {
res.json({
updateAvailable: true,
message: 'Nouvelle mise à jour disponible. Voulez-vous mettre à jour maintenant ?',
showButton: true,
});
} else {
res.json({ updateAvailable: false });
}
} else {
res.status(500).json({ error: 'Données de mise à jour invalides.' });
}
} catch (error) {
console.error('Erreur lors de la vérification de la mise à jour :', error);
res.status(500).json({ error: 'Erreur lors de la vérification de la mise à jour.' });
}
}
module.exports = { checkUpdates };