1
0
mirror of https://github.com/keeweb/keeweb.git synced 2024-06-27 07:45:08 +02:00
keeweb/app/scripts/comp/updater.js
2015-10-25 22:26:33 +03:00

51 lines
1.5 KiB
JavaScript

'use strict';
var RuntimeInfo = require('./runtime-info'),
Links = require('../const/links'),
Launcher = require('../comp/launcher');
var Updater = {
lastCheckDate: null,
lastVersion: null,
lastVersionReleaseDate: null,
needUpdate: null,
status: 'ready',
check: function(complete) {
if (!Launcher) {
return;
}
this.status = 'checking';
Launcher.httpGet({
url: Links.WebApp + 'manifest.appcache',
utf8: true,
complete: (function (err, data) {
if (err) {
this.status = 'err';
if (complete) {
complete(err);
}
return;
}
var match = data.match('#\s*(\d+\-\d+\-\d+):v([\d+\.\w]+)');
if (!match) {
this.status = 'err';
if (complete) {
complete(err);
}
return;
}
this.lastVersionReleaseDate = new Date(match[1]);
this.lastVersion = match[2];
this.lastCheckDate = new Date();
this.status = 'ok';
this.needUpdate = this.lastVersion === RuntimeInfo.version;
if (complete) {
complete();
}
}).bind(this)
});
}
};
module.exports = Updater;