Skip to content

Instantly share code, notes, and snippets.

@ebubekirsezer
Last active October 22, 2022 09:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ebubekirsezer/c62214c8d8b6a7b945bf724db5ca8aa2 to your computer and use it in GitHub Desktop.
Save ebubekirsezer/c62214c8d8b6a7b945bf724db5ca8aa2 to your computer and use it in GitHub Desktop.
//
// DetailViewModel.swift
// GitStar
//
// Created by EbubekirSezer on 21.10.2022.
//
import Foundation
final class DetaiViewModel: ObservableObject {
@Published var isAdded: Bool = false
func control(node: Node) {
guard let nodeID = node.id else { return }
if let _ = RealmManager.service.get(type: Node.self)?.filter("id = %@", nodeID).first {
isAdded = true
return
}
isAdded = false
}
func addOrRemove(node: Node) {
let copyNode = RealmHelper.DetachedCopy(of: node)
guard let nodeID = copyNode?.id else { return }
if let dbNode = RealmManager.service.get(type: Node.self)?.filter("id = %@", nodeID).first {
RealmManager.service.delete(object: dbNode)
isAdded = false
} else {
RealmManager.service.add(object: copyNode)
isAdded = true
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment