import EventKit enum EventKitAuthorization { static func allowsRead(status: EKAuthorizationStatus) -> Bool { switch status { case .authorized, .fullAccess: return true case .writeOnly: return false case .notDetermined: // Don’t prompt during node.invoke; prompts block the invoke and lead to timeouts. return false case .restricted, .denied: return false @unknown default: return false } } static func allowsWrite(status: EKAuthorizationStatus) -> Bool { switch status { case .authorized, .fullAccess, .writeOnly: return true case .notDetermined: // Don’t prompt during node.invoke; prompts block the invoke and lead to timeouts. return false case .restricted, .denied: return false @unknown default: return false } } }