mirror of
https://github.com/gnh1201/welsonjs.git
synced 2024-11-26 23:41:42 +00:00
77 lines
2.0 KiB
JavaScript
77 lines
2.0 KiB
JavaScript
var FILE = require("lib/file");
|
|
var HTTP = require("lib/http");
|
|
var CONFIG = require("lib/config");
|
|
var SHELL = require("lib/shell");
|
|
|
|
var apiUrl = CONFIG.getValue("ApiUrl");
|
|
var token = null;
|
|
var versionId = 0;
|
|
|
|
if (FILE.fileExists("token.txt")) {
|
|
token = FILE.readFile("token.txt", "utf-8");
|
|
}
|
|
|
|
if (FILE.fileExists("versionid.txt")) {
|
|
versionId = parseInt(FILE.readFile("versionid.txt", "utf-8"));
|
|
}
|
|
|
|
var downloadFile = function(url) {
|
|
// download a file
|
|
console.log(SHELL.exec(["bin\\curl", url, "-o", "update.zip"]));
|
|
|
|
// extract a file
|
|
console.log(SHELL.exec(["bin\\unzip", "-o", "update.zip"]));
|
|
|
|
// run installer
|
|
SHELL.run(["start", "mysetup.exe"]);
|
|
|
|
// close application
|
|
exit();
|
|
};
|
|
|
|
var requestFile = function(id) {
|
|
var onSuccess = function(res) {
|
|
var data = res.data;
|
|
var full_url = data.data.full_url;
|
|
|
|
console.log("Downloading a file...");
|
|
downloadFile(full_url);
|
|
};
|
|
|
|
console.log("Requesting a file...");
|
|
HTTP.create()
|
|
.setContentType("application/x-www-form-urlencoded")
|
|
.setBearerAuth(token)
|
|
.get(apiUrl + "/netsolid/files/" + id, onSuccess)
|
|
;
|
|
};
|
|
|
|
var checkUpdates = function() {
|
|
if (!token) {
|
|
console.warn("Could not find authorization token. 로그인이 필요합니다.");
|
|
} else {
|
|
var onSuccess = function(res) {
|
|
var data = res.data;
|
|
for (var i = 0; i < data.length; i++) {
|
|
if (data[i].id > versionId) {
|
|
console.info("업데이트가 있습니다. 다운로드를 진행합니다.");
|
|
requestFile(data[i].file);
|
|
}
|
|
}
|
|
};
|
|
|
|
HTTP.create()
|
|
.setContentType("application/x-www-form-urlencoded")
|
|
.setBearerAuth(token)
|
|
.setParameters({
|
|
"status": "published",
|
|
"sort": "-created_on",
|
|
"limit": 1
|
|
})
|
|
.get(apiUrl + "/netsolid/items/updates", onSuccess)
|
|
;
|
|
}
|
|
};
|
|
|
|
exports.checkUpdates = checkUpdates;
|