34 lines
1.3 KiB
JavaScript
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 }; |