public async Task <IActionResult> UpdateMobileData() { try { logger.LogInformation("Realm to update {RealmServerUrl}/{RealmName}", realmSettings.RealmServerUrl, realmSettings.RealmName); var user = await realmSettings.GetUser(); var realmUrl = new Uri($"realms://{realmSettings.RealmServerUrl}/{realmSettings.RealmName}"); var realm = await user.GetRealm(realmUrl); var currentVersion = realm.GetCurrentVersion(); var auditUpdate = await this.updateManager.GetAuditUpdate(currentVersion); realm = await user.GetRealm(realmUrl); DotNetRuRealmHelper.UpdateRealm(realm, auditUpdate); await SendMeetupsNotifications(auditUpdate); return(new OkObjectResult(realmSettings)); } catch (Exception e) { logger.LogCritical(e, "Unhandled error while updating realm"); return(new ObjectResult(e) { StatusCode = StatusCodes.Status500InternalServerError }); } }
private async Task UpdateOnlineRealm() { var user = await this.GetUser(); var realmUrl = new Uri($"realms://{realmSettings.RealmServerUrl}/{realmSettings.RealmName}"); var realm = await GetRealm(realmUrl, user); var currentVersion = GetCurrentVersion(realm); var auditUpdate = await UpdateManager.GetAuditUpdate(currentVersion, logger); DotNetRuRealmHelper.UpdateRealm(realm, auditUpdate); await SendMeetupsNotifications(auditUpdate); }
public async Task <IActionResult> GenerateOnlineRealm( [FromQuery] string commitSha, [FromQuery] string realmServerUrl, [FromQuery] string realmName) { var auditData = commitSha != null ? await this.updateManager.GetAuditXmlData(commitSha) : await this.updateManager.GetAuditXmlData(); logger.LogInformation("Realm to update {RealmServerUrl}/{RealmName}", realmServerUrl, realmName); var user = await realmSettings.GetUser(); var realmUrl = new Uri($"realms://{realmServerUrl}/{realmName}"); var realm = await user.GetRealm(realmUrl); DotNetRuRealmHelper.ReplaceRealm(realm, auditData); return(new OkResult()); }
public async Task <FileStreamResult> GenerateOfflineRealm([FromQuery] string commitSha) { var auditData = commitSha != null ? await UpdateManager.GetAuditData(commitSha) : await UpdateManager.GetAuditData(); var realmOfflinePath = $"{Path.GetTempPath()}/DotNetRuOffline.realm"; Realm.DeleteRealm(new RealmConfiguration(realmOfflinePath)); var realm = Realm.GetInstance(realmOfflinePath); DotNetRuRealmHelper.ReplaceRealm(realm, auditData); var stream = System.IO.File.OpenRead(realmOfflinePath); return(new FileStreamResult(stream, "application/octet-stream") { FileDownloadName = "DotNetRuOffline.realm" }); }