/** * Returns a list of apps that need upgrade * * @param string version Nextcloud version as array of version components * @return array list of app info from apps that need an upgrade * * @internal */ public IList getAppsNeedingUpgrade(string version) { var appsToUpgrade = new List <AppInfo>(); var apps = this.getInstalledApps(); foreach (var appId in apps) { var appInfo = this.getAppInfo(appId); var appDbVersion = this.appConfig.getValue(appId, "installed_version"); if (appDbVersion.IsNotEmpty() && appInfo.Version.IsNotEmpty() && VersionUtility.version_compare(appInfo.Version, appDbVersion, ">") && OC_App.isAppCompatible(version, appInfo) ) { appsToUpgrade.Add(appInfo); } } return(appsToUpgrade); }
/** * Returns a list of apps incompatible with the given version * * @param string version Nextcloud version as array of version components * * @return array list of app info from incompatible apps * * @internal */ public IList <AppInfo> getIncompatibleApps(string version) { var apps = this.getInstalledApps(); var incompatibleApps = new List <AppInfo>(); foreach (var appId in apps) { var info = this.getAppInfo(appId); if (info == null) { info = new AppInfo() { Id = appId }; incompatibleApps.Add(info); } else if (!OC_App.isAppCompatible(version, info)) { incompatibleApps.Add(info); } } return(incompatibleApps); }