refactor latestReleaseService to new format
This commit is contained in:
parent
70663492eb
commit
828cb927dc
1 changed files with 30 additions and 19 deletions
|
|
@ -1,13 +1,26 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
angular.module('copayApp.services')
|
|
||||||
.factory('latestReleaseService', function latestReleaseServiceFactory($log, $http, $ionicPopup, configService, externalLinkService, gettextCatalog, platformInfo) {
|
|
||||||
|
|
||||||
var root = {};
|
(function() {
|
||||||
|
|
||||||
root.checkLatestRelease = function(cb) {
|
angular
|
||||||
|
.module('bitcoincom.services')
|
||||||
|
.factory('latestReleaseService', latestReleaseService);
|
||||||
|
|
||||||
|
function latestReleaseService($log, $http, $ionicPopup, configService, externalLinkService, gettextCatalog, platformInfo) {
|
||||||
|
|
||||||
|
var service = {
|
||||||
|
// Functions
|
||||||
|
checkLatestRelease: checkLatestRelease,
|
||||||
|
requestLatestRelease: requestLatestRelease,
|
||||||
|
showUpdatePopup: showUpdatePopup
|
||||||
|
};
|
||||||
|
|
||||||
|
return service;
|
||||||
|
|
||||||
|
function checkLatestRelease(cb) {
|
||||||
var releaseURL = configService.getDefaults().release.url;
|
var releaseURL = configService.getDefaults().release.url;
|
||||||
|
|
||||||
requestLatestRelease(releaseURL, function(err, releaseData) {
|
requestLatestRelease(releaseURL, function (err, releaseData) {
|
||||||
if (err) return cb(err);
|
if (err) return cb(err);
|
||||||
var currentVersion = window.version;
|
var currentVersion = window.version;
|
||||||
var latestVersion = releaseData.tag_name;
|
var latestVersion = releaseData.tag_name;
|
||||||
|
|
@ -45,15 +58,14 @@ angular.module('copayApp.services')
|
||||||
|
|
||||||
$log.debug('A new version is available: ' + latestVersion);
|
$log.debug('A new version is available: ' + latestVersion);
|
||||||
|
|
||||||
//
|
|
||||||
var releaseNotes = false;
|
var releaseNotes = false;
|
||||||
if (releaseData.body) {
|
if (releaseData.body) {
|
||||||
var releaseLines = releaseData.body.split('\n');
|
var releaseLines = releaseData.body.split('\n');
|
||||||
for (var lineNum in releaseLines) {
|
for (var lineNum in releaseLines) {
|
||||||
if (releaseLines[lineNum].substring(0, 2) === "# ") {
|
if (releaseLines[lineNum].substring(0, 2) === "# ") {
|
||||||
releaseLines[lineNum] = "<strong>"+releaseLines[lineNum].substring(2)+"</strong>";
|
releaseLines[lineNum] = "<strong>" + releaseLines[lineNum].substring(2) + "</strong>";
|
||||||
} else if (releaseLines[lineNum].substring(0, 2) === "- ") {
|
} else if (releaseLines[lineNum].substring(0, 2) === "- ") {
|
||||||
releaseLines[lineNum] = "• "+releaseLines[lineNum].substring(2);
|
releaseLines[lineNum] = "• " + releaseLines[lineNum].substring(2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
releaseNotes = releaseLines.join('\n');
|
releaseNotes = releaseLines.join('\n');
|
||||||
|
|
@ -76,13 +88,13 @@ angular.module('copayApp.services')
|
||||||
|
|
||||||
var formattedNumber = tag.replace(/^v/i, '').split('.');
|
var formattedNumber = tag.replace(/^v/i, '').split('.');
|
||||||
return {
|
return {
|
||||||
major: +(formattedNumber[0]?+formattedNumber[0]:0),
|
major: +(formattedNumber[0] ? +formattedNumber[0] : 0),
|
||||||
minor: +(formattedNumber[1]?+formattedNumber[1]:0),
|
minor: +(formattedNumber[1] ? +formattedNumber[1] : 0),
|
||||||
patch: +(formattedNumber[2]?+formattedNumber[2]:0),
|
patch: +(formattedNumber[2] ? +formattedNumber[2] : 0),
|
||||||
label: label /* XX SP: Maybe we can use this in a later stage (with for example 1.0.0-rc2 the value will be "rc2" and false if there is no label) */
|
label: label /* XX SP: Maybe we can use this in a later stage (with for example 1.0.0-rc2 the value will be "rc2" and false if there is no label) */
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
function requestLatestRelease(releaseURL, cb) {
|
function requestLatestRelease(releaseURL, cb) {
|
||||||
$log.debug('Retrieving latest release information...');
|
$log.debug('Retrieving latest release information...');
|
||||||
|
|
@ -93,15 +105,15 @@ angular.module('copayApp.services')
|
||||||
json: true
|
json: true
|
||||||
};
|
};
|
||||||
|
|
||||||
$http(request).then(function(release) {
|
$http(request).then(function (release) {
|
||||||
$log.debug('Latest release: ' + release.data.name);
|
$log.debug('Latest release: ' + release.data.name);
|
||||||
return cb(null, release.data);
|
return cb(null, release.data);
|
||||||
}, function(err) {
|
}, function (err) {
|
||||||
return cb('Cannot get the release information: ' + err);
|
return cb('Cannot get the release information: ' + err);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
root.showUpdatePopup = function () {
|
function showUpdatePopup() {
|
||||||
var buttons = [];
|
var buttons = [];
|
||||||
|
|
||||||
if (!platformInfo.isIOS) { // There is no GitHub-release for iPhone
|
if (!platformInfo.isIOS) { // There is no GitHub-release for iPhone
|
||||||
|
|
@ -163,7 +175,6 @@ angular.module('copayApp.services')
|
||||||
buttons: buttons
|
buttons: buttons
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
}
|
||||||
return root;
|
})();
|
||||||
});
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue