NetNewsWire/Frameworks/Account/CloudKit/CloudKitPublicZone.swift
2020-04-04 05:15:43 -05:00

63 lines
1.4 KiB
Swift

//
// CloudKitPublicZone.swift
// Account
//
// Created by Maurice Parker on 4/4/20.
// Copyright © 2020 Ranchero Software, LLC. All rights reserved.
//
import Foundation
import CloudKit
import os.log
final class CloudKitPublicZone: CloudKitZone {
static var zoneID: CKRecordZone.ID {
return CKRecordZone.default().zoneID
}
var log = OSLog(subsystem: Bundle.main.bundleIdentifier!, category: "CloudKit")
weak var container: CKContainer?
weak var database: CKDatabase?
var delegate: CloudKitZoneDelegate?
struct CloudKitWebFeed {
static let recordType = "WebFeed"
struct Fields {
static let url = "url"
static let httpLastModified = "httpLastModified"
static let httpEtag = "httpEtag"
}
}
struct CloudKitUserSubscription {
static let recordType = "UserSubscription"
struct Fields {
static let user = "user"
static let webFeed = "webFeed"
static let subscriptionID = "subscriptionID"
}
}
init(container: CKContainer) {
self.container = container
self.database = container.publicCloudDatabase
}
func subscribe() {}
func receiveRemoteNotification(userInfo: [AnyHashable : Any], completion: @escaping () -> Void) {
completion()
}
func createSubscription(_ webFeed: WebFeed, completion: @escaping (Result<Void, Error>) -> Void) {
completion(.success(()))
}
func removeSubscription(_ webFeed: WebFeed, completion: @escaping (Result<Void, Error>) -> Void) {
completion(.success(()))
}
}