summaryrefslogtreecommitdiff
path: root/Hutch/Views/Repositories/RepositoryListViewModel.swift
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-04-12 22:30:22 -0500
committerChristian Cleberg <[email protected]>2026-04-12 22:30:22 -0500
commit54d037548261c1546555a89a6a803b542a769880 (patch)
treec99bf489071d40e4acc0d99aae769abc8e614497 /Hutch/Views/Repositories/RepositoryListViewModel.swift
parent7a875798fea9321bad2636040d9be2c30bc0fa8f (diff)
downloadhutch-54d037548261c1546555a89a6a803b542a769880.tar.gz
hutch-54d037548261c1546555a89a6a803b542a769880.tar.bz2
hutch-54d037548261c1546555a89a6a803b542a769880.zip
feat: add repo settings management
Implements: https://todo.sr.ht/~ccleberg/hutch/42 Implements: https://todo.sr.ht/~ccleberg/hutch/43 Implements: https://todo.sr.ht/~ccleberg/hutch/44
Diffstat (limited to 'Hutch/Views/Repositories/RepositoryListViewModel.swift')
-rw-r--r--Hutch/Views/Repositories/RepositoryListViewModel.swift11
1 files changed, 11 insertions, 0 deletions
diff --git a/Hutch/Views/Repositories/RepositoryListViewModel.swift b/Hutch/Views/Repositories/RepositoryListViewModel.swift
index fd5bafe..7a65441 100644
--- a/Hutch/Views/Repositories/RepositoryListViewModel.swift
+++ b/Hutch/Views/Repositories/RepositoryListViewModel.swift
@@ -208,6 +208,17 @@ final class RepositoryListViewModel {
repositories.removeAll { $0.id == id }
}
+ func updateRepository(_ repository: RepositorySummary) {
+ if let index = repositories.firstIndex(where: { $0.id == repository.id }) {
+ repositories[index] = repository
+ repositories.sort(by: repositorySortOrder)
+ }
+
+ let updatedRepositories = repositoriesForSearchIndex
+ .filter { $0.id != repository.id } + [repository]
+ updateSearchIndex(with: updatedRepositories)
+ }
+
func createRepository(
service: RepositoryCreationService,
name: String,