ReadKeep/readeck/Domain/UseCase/SaveServerSettingsUseCase.swift
Ilyas Hallak ffb41347af refactor: Implement state machine architecture for offline sync
- Replace multiple boolean properties with single OfflineBookmarkSyncState enum
- Add Use Case pattern for OfflineSyncManager with dependency injection
- Simplify LocalBookmarksSyncView using state-driven UI with external bindings
- Convert OfflineBookmarksViewModel to use @Observable instead of ObservableObject
- Move credentials from Core Data to Keychain for better persistence
- Implement comprehensive database migration for App Group containers
- Add structured logging throughout sync operations and API calls

Architecture improvements follow MVVM principles with clean separation of concerns.
2025-08-18 22:58:42 +02:00

18 lines
598 B
Swift

import Foundation
protocol PSaveServerSettingsUseCase {
func execute(endpoint: String, username: String, password: String, token: String) async throws
}
class SaveServerSettingsUseCase: PSaveServerSettingsUseCase {
private let repository: PSettingsRepository
init(repository: PSettingsRepository) {
self.repository = repository
}
func execute(endpoint: String, username: String, password: String, token: String) async throws {
try await repository.saveServerSettings(endpoint: endpoint, username: username, password: password, token: token)
}
}