mirror of
https://github.com/discourse/discourse.git
synced 2024-11-28 22:16:17 +08:00
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
import { ajax } from "discourse/lib/ajax";
|
|
import computed from "ember-addons/ember-computed-decorators";
|
|
|
|
const VersionCheck = Discourse.Model.extend({
|
|
@computed("updated_at")
|
|
noCheckPerformed(updatedAt) {
|
|
return updatedAt === null;
|
|
},
|
|
|
|
@computed("missing_versions_count")
|
|
upToDate(missingVersionsCount) {
|
|
return missingVersionsCount === 0 || missingVersionsCount === null;
|
|
},
|
|
|
|
@computed("missing_versions_count")
|
|
behindByOneVersion(missingVersionsCount) {
|
|
return missingVersionsCount === 1;
|
|
},
|
|
|
|
@computed("git_branch", "installed_sha")
|
|
gitLink(gitBranch, installedSHA) {
|
|
if (gitBranch && installedSHA) {
|
|
return `https://github.com/discourse/discourse/compare/${installedSHA}...${gitBranch}`;
|
|
} else if (installedSHA) {
|
|
return `https://github.com/discourse/discourse/tree/${installedSHA}`;
|
|
}
|
|
},
|
|
|
|
@computed("installed_sha")
|
|
shortSha(installedSHA) {
|
|
if (installedSHA) {
|
|
return installedSHA.substr(0, 10);
|
|
}
|
|
}
|
|
});
|
|
|
|
VersionCheck.reopenClass({
|
|
find() {
|
|
return ajax("/admin/version_check").then(json => VersionCheck.create(json));
|
|
}
|
|
});
|
|
|
|
export default VersionCheck;
|