summaryrefslogtreecommitdiff
path: root/Hutch/Views/Repositories
diff options
context:
space:
mode:
Diffstat (limited to 'Hutch/Views/Repositories')
-rw-r--r--Hutch/Views/Repositories/RepositorySettingsViewModel.swift19
1 files changed, 15 insertions, 4 deletions
diff --git a/Hutch/Views/Repositories/RepositorySettingsViewModel.swift b/Hutch/Views/Repositories/RepositorySettingsViewModel.swift
index 6233bec..6ad6a78 100644
--- a/Hutch/Views/Repositories/RepositorySettingsViewModel.swift
+++ b/Hutch/Views/Repositories/RepositorySettingsViewModel.swift
@@ -166,10 +166,7 @@ final class RepositorySettingsViewModel {
defer { isSavingMetadata = false }
error = nil
- let input: [String: any Sendable] = [
- "name": normalizedEditedName,
- "description": normalizedEditedDescription
- ]
+ let input = metadataInputForSave()
do {
return try await updateRepository(with: input)
@@ -295,4 +292,18 @@ final class RepositorySettingsViewModel {
RepositorySummary.displayBranchName(for: $0.name) == normalizedEditedHead
}?.name
}
+
+ func metadataInputForSave() -> [String: any Sendable] {
+ var input: [String: any Sendable] = [:]
+
+ if normalizedEditedName != repository.name {
+ input["name"] = normalizedEditedName
+ }
+
+ if normalizedEditedDescription != (repository.description ?? "") {
+ input["description"] = normalizedEditedDescription.isEmpty ? Optional<String>.none as String? : normalizedEditedDescription
+ }
+
+ return input
+ }
}