discourse/app/assets/javascripts/admin/models/version-check.js.es6

42 lines
1.1 KiB
Plaintext
Raw Normal View History

2018-06-15 23:03:24 +08:00
import { ajax } from "discourse/lib/ajax";
import computed from "ember-addons/ember-computed-decorators";
2016-08-03 22:13:02 +08:00
const VersionCheck = Discourse.Model.extend({
2018-06-15 23:03:24 +08:00
@computed("updated_at")
2016-08-03 22:13:02 +08:00
noCheckPerformed(updatedAt) {
return updatedAt === null;
},
2018-06-15 23:03:24 +08:00
@computed("missing_versions_count")
2016-08-03 22:13:02 +08:00
upToDate(missingVersionsCount) {
return missingVersionsCount === 0 || missingVersionsCount === null;
},
2018-06-15 23:03:24 +08:00
@computed("missing_versions_count")
2016-08-03 22:13:02 +08:00
behindByOneVersion(missingVersionsCount) {
return missingVersionsCount === 1;
},
2018-06-15 23:03:24 +08:00
@computed("git_branch", "installed_sha")
2016-08-03 22:13:02 +08:00
gitLink(gitBranch, installedSHA) {
if (gitBranch) {
return `https://github.com/discourse/discourse/compare/${installedSHA}...${gitBranch}`;
} else {
return `https://github.com/discourse/discourse/tree/${installedSHA}`;
}
},
2018-06-15 23:03:24 +08:00
@computed("installed_sha")
2016-08-03 22:13:02 +08:00
shortSha(installedSHA) {
return installedSHA.substr(0, 10);
}
});
VersionCheck.reopenClass({
2016-08-03 22:13:02 +08:00
find() {
2018-06-15 23:03:24 +08:00
return ajax("/admin/version_check").then(json => VersionCheck.create(json));
}
});
export default VersionCheck;