summaryrefslogtreecommitdiff
path: root/DomainDig/Models.swift
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-07-20 16:22:28 -0500
committerChristian Cleberg <[email protected]>2026-07-20 16:27:59 -0500
commitbb18197860ffdb491f010648ec903003b6e1bb65 (patch)
treee569d7cdeb1c14c7eab889cb7fac1ea9813e6efe /DomainDig/Models.swift
parent083dfa723739eedd409ea8a6ae27332e48515210 (diff)
downloaddomain-dig-bb18197860ffdb491f010648ec903003b6e1bb65.tar.gz
domain-dig-bb18197860ffdb491f010648ec903003b6e1bb65.tar.bz2
domain-dig-bb18197860ffdb491f010648ec903003b6e1bb65.zip
v4.8.3: Clear SonarCloud new-code issues
Fixes the 4 reported bugs and ~97 code smells flagged in the new-code period. No behavior changes. Bugs (swift:S3923) — DomainInspectionService's confidenceFor* helpers each returned `error == nil ? .low : .low`, an inert conditional. Simplified to `return .low` and dropped the now-unused `error` parameter. Smells: - Merged 14 identical `.empty`/`.error` switch branches in DomainViewModel - Consolidated duplicate implementations (clearPresentedResults/reset, String.nonEmpty/nilIfEmpty, ExportFormat.id/fileExtension) - Extracted nested ternaries into TLSGrade.tone, EmailSecurityGrade.tone, and ChangeImpactClassification.color; removed ContentView.impactColor and the duplicate mapping in BatchResultsView - Documented empty closures and singleton inits - Marked unused protocol-conformance parameters `_` - Renamed CloudSyncTrigger.`import` to `imported` (raw value preserved) and SSLSessionDelegate's _serverTrust/_tlsMetadata - Merged nested ifs in the DER parser; flattened closure nesting in PortScanService and IntegrationService - Replaced two-case switches with if/else Left open: S107 (init parameter counts), S115 (constants mirroring DoH and ipapi JSON keys), S1075 (false positives on https:// literals), and two S117 hits on SwiftUI $binding shorthand. These want a Won't Fix resolution in SonarCloud, not a code change.
Diffstat (limited to 'DomainDig/Models.swift')
-rw-r--r--DomainDig/Models.swift14
1 files changed, 9 insertions, 5 deletions
diff --git a/DomainDig/Models.swift b/DomainDig/Models.swift
index 6989cba..d83dc79 100644
--- a/DomainDig/Models.swift
+++ b/DomainDig/Models.swift
@@ -244,8 +244,14 @@ struct DomainChangeSummary: Codable, Equatable {
changedSections = try container.decodeIfPresent([String].self, forKey: .changedSections) ?? []
generatedAt = try container.decode(Date.self, forKey: .generatedAt)
severity = try container.decodeIfPresent(ChangeSeverity.self, forKey: .severity) ?? (hasChanges ? .medium : .low)
+ let defaultImpact: ChangeImpactClassification
+ if severity == .high {
+ defaultImpact = .critical
+ } else {
+ defaultImpact = hasChanges ? .warning : .informational
+ }
impactClassification = try container.decodeIfPresent(ChangeImpactClassification.self, forKey: .impactClassification)
- ?? (severity == .high ? .critical : (hasChanges ? .warning : .informational))
+ ?? defaultImpact
message = try container.decodeIfPresent(String.self, forKey: .message)
?? (changedSections.isEmpty ? "No meaningful changes" : changedSections.joined(separator: " • "))
observedFacts = try container.decodeIfPresent([String].self, forKey: .observedFacts) ?? []
@@ -562,12 +568,10 @@ enum DomainClassificationKind: String, Codable, CaseIterable, Sendable {
case unknown
var title: String {
- switch self {
- case .staticSite:
+ if self == .staticSite {
return "Static"
- default:
- return rawValue.capitalized
}
+ return rawValue.capitalized
}
}