use cloudkit::prelude::*;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let record = CKRecord::new("OperationRecord")?;
let modify = CKModifyRecordsOperation::new(vec![record], vec![])
.with_save_policy(CKRecordSavePolicy::ChangedKeys)
.with_atomic(false);
let query = CKQueryOperation::new(CKQuery::match_all("OperationRecord")).with_results_limit(1);
let fetch_records = CKFetchRecordsOperation::new(vec![CKRecordID::new("operation-demo")]);
let fetch_db_changes = CKFetchDatabaseChangesOperation::new().with_fetch_all_changes(false);
let fetch_zone_changes = CKFetchRecordZoneChangesOperation::new(vec![CKRecordZoneID::new("OpsZone", "__defaultOwner__")]);
println!("modify records_to_save={} atomic={}", modify.records_to_save().len(), modify.atomic());
println!("query limit={:?} fetch_records={} db_changes_fetch_all={} zone_changes={}", query.results_limit(), fetch_records.record_ids().len(), fetch_db_changes.fetch_all_changes(), fetch_zone_changes.zones().len());
println!("✅ operation area OK");
Ok(())
}