diff options
| author | Christian Cleberg <[email protected]> | 2026-04-13 20:07:53 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-04-13 20:07:53 -0500 |
| commit | 312e535f400f31714b3750de5222a1f6a8e5bcda (patch) | |
| tree | dfa0d9dfcfd08187befa79cf5d8afc4da9fef860 /Hutch/Models/RepositorySummary.swift | |
| parent | fe1ccc69661603d419a642a450e4ac9e1258adb0 (diff) | |
| download | hutch-312e535f400f31714b3750de5222a1f6a8e5bcda.tar.gz hutch-312e535f400f31714b3750de5222a1f6a8e5bcda.tar.bz2 hutch-312e535f400f31714b3750de5222a1f6a8e5bcda.zip | |
fix: sonarqube code smell fixesv3.1.4
Diffstat (limited to 'Hutch/Models/RepositorySummary.swift')
| -rw-r--r-- | Hutch/Models/RepositorySummary.swift | 63 |
1 files changed, 34 insertions, 29 deletions
diff --git a/Hutch/Models/RepositorySummary.swift b/Hutch/Models/RepositorySummary.swift index 3821aa2..b41589b 100644 --- a/Hutch/Models/RepositorySummary.swift +++ b/Hutch/Models/RepositorySummary.swift @@ -20,26 +20,29 @@ struct RepositorySummary: Codable, Sendable, Identifiable, Hashable { case head = "HEAD" } - init( - id: Int, - rid: String, - service: SRHTService, - name: String, - description: String?, - visibility: Visibility, - updated: Date, - owner: Entity, - head: Reference? - ) { - self.id = id - self.rid = rid - self.service = service - self.name = name - self.description = description - self.visibility = visibility - self.updated = updated - self.owner = owner - self.head = head + /// Grouped initializer fields (single parameter keeps APIs explicit without exceeding parameter-count limits). + struct Fields: Sendable, Hashable { + let id: Int + let rid: String + let service: SRHTService + let name: String + let description: String? + let visibility: Visibility + let updated: Date + let owner: Entity + let head: Reference? + } + + init(fields: Fields) { + id = fields.id + rid = fields.rid + service = fields.service + name = fields.name + description = fields.description + visibility = fields.visibility + updated = fields.updated + owner = fields.owner + head = fields.head } init(from decoder: any Decoder) throws { @@ -69,15 +72,17 @@ extension RepositorySummary { head: Reference? = nil ) -> RepositorySummary { RepositorySummary( - id: id, - rid: rid, - service: service, - name: name ?? self.name, - description: description ?? self.description, - visibility: visibility ?? self.visibility, - updated: updated ?? self.updated, - owner: owner, - head: head ?? self.head + fields: .init( + id: id, + rid: rid, + service: service, + name: name ?? self.name, + description: description ?? self.description, + visibility: visibility ?? self.visibility, + updated: updated ?? self.updated, + owner: owner, + head: head ?? self.head + ) ) } |
