Skip to content

Feature: Add custom CloudKit zone support for queries #146

@leogdion

Description

@leogdion

Description

The queryRecords() method currently hard-codes the zone name to _defaultZone, which prevents querying custom CloudKit zones.

Current Behavior

// Sources/MistKit/Service/CloudKitService+Operations.swift:105
zoneID: .init(zoneName: "_defaultZone"),

Proposed Solution

Add optional zoneName parameter with default value:

public func queryRecords(
  recordType: String,
  filters: [QueryFilter]? = nil,
  sortBy: [QuerySort]? = nil,
  limit: Int = 100,
  zoneName: String = "_defaultZone"
) async throws(CloudKitError) -> [RecordInfo] {
  // Use provided zoneName instead of hard-coded value
}

Use Cases

  • Querying custom zones for advanced CloudKit usage
  • Working with shared zones
  • Multi-zone applications

References

  • Identified in PR Adding Celestra to Demos #134 review by Claude Code (CloudKitService+Operations.swift:105)
  • CloudKit Web Services supports custom zones

Priority

Medium - Required for advanced CloudKit features

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions