[firestore] Support FieldValue.delete() and FieldValue.serverTimestamp()

This commit is contained in:
Chris Bianca
2017-10-12 09:00:46 +01:00
parent ca3dd7aa01
commit f348ba8a8c
8 changed files with 147 additions and 67 deletions

View File

@@ -12,6 +12,7 @@ import com.facebook.react.bridge.WritableMap;
import com.google.firebase.firestore.DocumentChange;
import com.google.firebase.firestore.DocumentReference;
import com.google.firebase.firestore.DocumentSnapshot;
import com.google.firebase.firestore.FieldValue;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.GeoPoint;
import com.google.firebase.firestore.QuerySnapshot;
@@ -273,6 +274,16 @@ public class FirestoreSerialize {
Log.e(TAG, "parseTypeMap", exception);
return null;
}
} else if ("fieldvalue".equals(type)) {
String value = typeMap.getString("value");
if ("delete".equals(value)) {
return FieldValue.delete();
} else if ("timestamp".equals(value)) {
return FieldValue.serverTimestamp();
} else {
Log.e(TAG, "parseTypeMap: Invalid fieldvalue: " + value);
return null;
}
} else {
Log.e(TAG, "parseTypeMap: Cannot convert object of type " + type);
return null;