mirror of https://github.com/BTCPrivate/copay.git
ref methods
This commit is contained in:
parent
94dd6fd3e8
commit
272770f4e4
|
@ -12,55 +12,50 @@ export class LatestReleaseProvider {
|
|||
constructor(public http: Http, private app: AppProvider) {
|
||||
console.log('Hello LatestRelease Provider');
|
||||
this.LATEST_RELEASE_URL = 'https://api.github.com/repos/bitpay/copay/releases/latest';
|
||||
this.appVersion = this.app.info.version;
|
||||
}
|
||||
|
||||
checkLatestRelease(): Promise<any> {
|
||||
return new Promise((resolve, reject) => {
|
||||
let self = this;
|
||||
|
||||
self.requestLatestRelease().then((release: any) => {
|
||||
var currentVersion = this.appVersion;
|
||||
var latestVersion = release.tag_name;
|
||||
|
||||
if (!verifyTagFormat(currentVersion))
|
||||
reject('Cannot verify the format of version tag: ' + currentVersion);
|
||||
if (!verifyTagFormat(latestVersion))
|
||||
reject('Cannot verify the format of latest release tag: ' + latestVersion);
|
||||
|
||||
var current = formatTagNumber(currentVersion);
|
||||
var latest = formatTagNumber(latestVersion);
|
||||
|
||||
if (latest.major < current.major || (latest.major == current.major && latest.minor <= current.minor))
|
||||
resolve(false);
|
||||
else
|
||||
resolve(true);
|
||||
|
||||
function verifyTagFormat(tag: string) {
|
||||
var regex = /^v?\d+\.\d+\.\d+$/i;
|
||||
return regex.exec(tag);
|
||||
};
|
||||
|
||||
function formatTagNumber(tag: string) {
|
||||
var formattedNumber = tag.replace(/^v/i, '').split('.');
|
||||
return {
|
||||
major: +formattedNumber[0],
|
||||
minor: +formattedNumber[1],
|
||||
patch: +formattedNumber[2]
|
||||
};
|
||||
};
|
||||
|
||||
}).catch((error) => {
|
||||
console.log("Error: ", error);
|
||||
reject(error);
|
||||
});
|
||||
});
|
||||
getCurrentAppVersion() {
|
||||
return this.appVersion = this.app.info.version;
|
||||
}
|
||||
|
||||
requestLatestRelease(): Promise<any> {
|
||||
getLatestAppVersion(): Promise<any> {
|
||||
return this.http.get(this.LATEST_RELEASE_URL)
|
||||
.map((response) => response.json())
|
||||
.toPromise()
|
||||
.catch((error) => console.log("Error", error));
|
||||
.catch((error) => (error));
|
||||
}
|
||||
|
||||
checkForUpdates(currentVersion: string, latestVersion: string) {
|
||||
var result = {
|
||||
updateAvailable: false,
|
||||
error: null
|
||||
};
|
||||
|
||||
if (!verifyTagFormat(currentVersion))
|
||||
return (result.error = 'Cannot verify the format of version tag: ' + currentVersion);
|
||||
if (!verifyTagFormat(latestVersion))
|
||||
return (result.error = 'Cannot verify the format of latest release tag: ' + latestVersion);
|
||||
|
||||
var current = formatTagNumber(currentVersion);
|
||||
var latest = formatTagNumber(latestVersion);
|
||||
|
||||
if (latest.major < current.major || (latest.major == current.major && latest.minor <= current.minor))
|
||||
return (result);
|
||||
else
|
||||
return (result.updateAvailable = true);
|
||||
|
||||
function verifyTagFormat(tag: string) {
|
||||
var regex = /^v?\d+\.\d+\.\d+$/i;
|
||||
return regex.exec(tag);
|
||||
};
|
||||
|
||||
function formatTagNumber(tag: string) {
|
||||
var formattedNumber = tag.replace(/^v/i, '').split('.');
|
||||
return {
|
||||
major: +formattedNumber[0],
|
||||
minor: +formattedNumber[1],
|
||||
patch: +formattedNumber[2]
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue