private async Task ReportManagedCertificateStatus(ManagedCertificate managedCertificate) { if (CoreAppSettings.Current.EnableStatusReporting) { if (_pluginManager != null && _pluginManager.DashboardClient != null) { var report = new Models.Shared.RenewalStatusReport { InstanceId = CoreAppSettings.Current.InstanceId, MachineName = Environment.MachineName, PrimaryContactEmail = (await GetAccountDetailsForManagedItem(managedCertificate))?.Email, ManagedSite = managedCertificate, AppVersion = Util.GetAppVersion().ToString() }; try { await _pluginManager.DashboardClient.ReportRenewalStatusAsync(report); } catch (Exception) { // failed to report status LogMessage(managedCertificate.Id, "Failed to send renewal status report.", LogItemType.GeneralWarning); } } } }
private async Task ReportManagedCertificateStatus(ManagedCertificate managedCertificate) { if (CoreAppSettings.Current.EnableStatusReporting) { if (_pluginManager != null && _pluginManager.DashboardClient != null) { var reportedCert = Newtonsoft.Json.JsonConvert.DeserializeObject <ManagedCertificate>(Newtonsoft.Json.JsonConvert.SerializeObject(managedCertificate)); // remove anything we don't want to report to the dashboard reportedCert.RequestConfig.CustomCSR = null; reportedCert.RequestConfig.CustomPrivateKey = null; var report = new Models.Shared.RenewalStatusReport { InstanceId = CoreAppSettings.Current.InstanceId, MachineName = Environment.MachineName, PrimaryContactEmail = (await GetAccountDetailsForManagedItem(managedCertificate))?.Email, ManagedSite = reportedCert, AppVersion = Util.GetAppVersion().ToString() }; try { await _pluginManager.DashboardClient.ReportRenewalStatusAsync(report); } catch (Exception) { // failed to report status LogMessage(managedCertificate.Id, "Failed to send renewal status report.", LogItemType.GeneralWarning); } } } }