diff options
author | Sebastian Schmidt <mrschmidt@google.com> | 2018-05-02 11:10:19 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-02 11:10:19 -0700 |
commit | 542d81ac68c416e8d76839e438ad1d6aaab528f3 (patch) | |
tree | d9cdc0797d3757d6899047f9f78b578b73fd2cdd /Firestore/Source/API/FIRWriteBatch.mm | |
parent | 39e68afc1a76f5e2ee19405bd32de7b335d4fb43 (diff) |
Adding mergeFields support (#1141)
Diffstat (limited to 'Firestore/Source/API/FIRWriteBatch.mm')
-rw-r--r-- | Firestore/Source/API/FIRWriteBatch.mm | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/Firestore/Source/API/FIRWriteBatch.mm b/Firestore/Source/API/FIRWriteBatch.mm index 1185dae..366c708 100644 --- a/Firestore/Source/API/FIRWriteBatch.mm +++ b/Firestore/Source/API/FIRWriteBatch.mm @@ -70,8 +70,21 @@ NS_ASSUME_NONNULL_BEGIN merge:(BOOL)merge { [self verifyNotCommitted]; [self validateReference:document]; - FSTParsedSetData *parsed = merge ? [self.firestore.dataConverter parsedMergeData:data] - : [self.firestore.dataConverter parsedSetData:data]; + FSTParsedSetData *parsed = merge + ? [self.firestore.dataConverter parsedMergeData:data fieldMask:nil] + : [self.firestore.dataConverter parsedSetData:data]; + [self.mutations + addObjectsFromArray:[parsed mutationsWithKey:document.key precondition:Precondition::None()]]; + return self; +} + +- (FIRWriteBatch *)setData:(NSDictionary<NSString *, id> *)data + forDocument:(FIRDocumentReference *)document + mergeFields:(NSArray<id> *)mergeFields { + [self verifyNotCommitted]; + [self validateReference:document]; + FSTParsedSetData *parsed = + [self.firestore.dataConverter parsedMergeData:data fieldMask:mergeFields]; [self.mutations addObjectsFromArray:[parsed mutationsWithKey:document.key precondition:Precondition::None()]]; return self; |