36 lines
993 B
Swift
36 lines
993 B
Swift
//
|
|
// NotificationSettingsDialogViewModel.swift
|
|
// SodaLive
|
|
//
|
|
// Created by klaus on 2023/08/11.
|
|
//
|
|
|
|
import Foundation
|
|
import Combine
|
|
|
|
final class NotificationSettingsDialogViewModel: ObservableObject {
|
|
|
|
private let userRepository = UserRepository()
|
|
private var subscription = Set<AnyCancellable>()
|
|
|
|
@Published var live = true
|
|
@Published var uploadContent = true
|
|
@Published var message = true
|
|
|
|
func submit() {
|
|
userRepository
|
|
.updateNotificationSettings(live: live, uploadContent: uploadContent, message: message)
|
|
.sink { result in
|
|
switch result {
|
|
case .finished:
|
|
DEBUG_LOG("finish")
|
|
case .failure(let error):
|
|
ERROR_LOG(error.localizedDescription)
|
|
}
|
|
} receiveValue: { _ in
|
|
AppState.shared.isShowNotificationSettingsDialog = false
|
|
}
|
|
.store(in: &subscription)
|
|
}
|
|
}
|