func addContact()

in Sharing/ViewModels/ViewModel.swift [130:155]


    func addContact(
        name: String,
        phoneNumber: String,
        completionHandler: @escaping (Result<Void, Error>) -> Void
    ) {
        let id = CKRecord.ID(zoneID: recordZone.zoneID)
        let contactRecord = CKRecord(recordType: "Contact", recordID: id)
        contactRecord["name"] = name
        contactRecord["phoneNumber"] = phoneNumber

        let saveOperation = CKModifyRecordsOperation(recordsToSave: [contactRecord])
        saveOperation.savePolicy = .allKeys

        saveOperation.modifyRecordsCompletionBlock = { recordsSaved, _, error in
            DispatchQueue.main.async {
                if let error = error {
                    completionHandler(.failure(error))
                    debugPrint("Error adding contact: \(error)")
                } else {
                    completionHandler(.success(()))
                }
            }
        }

        database.add(saveOperation)
    }