mattermost-mobile/app/utils/client_upgrade.js
Elias Nahum 36e55c95a2
MM-23570 Migrate from Segment to Rudder (#4293)
* Replace Segment with Rudder (ios not working)

* Update @assets reference and fix tests
2020-05-13 16:54:07 -04:00

35 lines
1.1 KiB
JavaScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import semver from 'semver';
import LocalConfig from '@assets/config';
import {UpgradeTypes} from '@constants';
export function checkUpgradeType(currentVersion, minVersion, latestVersion, logError) {
let upgradeType = UpgradeTypes.NO_UPGRADE;
try {
if (semver.gt(currentVersion, latestVersion)) {
upgradeType = UpgradeTypes.IS_BETA;
} else if (minVersion && semver.lt(currentVersion, minVersion)) {
upgradeType = UpgradeTypes.MUST_UPGRADE;
} else if (latestVersion && semver.lt(currentVersion, latestVersion)) {
if (LocalConfig.EnableForceMobileClientUpgrade) {
upgradeType = UpgradeTypes.MUST_UPGRADE;
} else {
upgradeType = UpgradeTypes.CAN_UPGRADE;
}
}
} catch (error) {
logError(error.message);
}
return upgradeType;
}
export function isUpgradeAvailable(upgradeType) {
return [
UpgradeTypes.CAN_UPGRADE,
UpgradeTypes.MUST_UPGRADE,
].includes(upgradeType);
}