@@ -191,43 +191,27 @@ public void onCancelled(DatabaseError error) {
191191 ChildEventListener listener = new ChildEventListener () {
192192 @ Override
193193 public void onChildAdded (DataSnapshot dataSnapshot , String previousChildName ) {
194- if (name .equals ("child_added" )) {
195- WritableMap data = self .dataSnapshotToMap (name , dataSnapshot );
196- FirestackUtils .sendEvent (mReactContext , name , data );
197- }
194+ self .handleDatabaseEvent (name , dataSnapshot );
198195 }
199196
200197 @ Override
201198 public void onChildChanged (DataSnapshot dataSnapshot , String previousChildName ) {
202- if (name .equals ("child_changed" )) {
203- WritableMap data = self .dataSnapshotToMap (name , dataSnapshot );
204- FirestackUtils .sendEvent (mReactContext , name , data );
205- }
199+ self .handleDatabaseEvent (name , dataSnapshot );
206200 }
207201
208202 @ Override
209203 public void onChildRemoved (DataSnapshot dataSnapshot ) {
210- if (name .equals ("child_removed" )) {
211- WritableMap data = self .dataSnapshotToMap (name , dataSnapshot );
212- FirestackUtils .sendEvent (mReactContext , name , data );
213- }
204+ self .handleDatabaseEvent (name , dataSnapshot );
214205 }
215206
216207 @ Override
217208 public void onChildMoved (DataSnapshot dataSnapshot , String previousChildName ) {
218- if (name .equals ("child_moved" )) {
219- WritableMap data = self .dataSnapshotToMap (name , dataSnapshot );
220- FirestackUtils .sendEvent (mReactContext , name , data );
221- }
209+ self .handleDatabaseEvent (name , dataSnapshot );
222210 }
223211
224212 @ Override
225213 public void onCancelled (DatabaseError error ) {
226- WritableMap err = Arguments .createMap ();
227- err .putInt ("errorCode" , error .getCode ());
228- err .putString ("errorDetails" , error .getDetails ());
229- err .putString ("description" , error .getMessage ());
230- FirestackUtils .sendEvent (mReactContext , "error" , err );
214+ self .handleDatabaseError (name , error );
231215 }
232216 };
233217 ref .addChildEventListener (listener );
@@ -341,6 +325,26 @@ public void onComplete(DatabaseError databaseError, DatabaseReference databaseRe
341325 }
342326
343327 // Private helpers
328+ private void handleDatabaseEvent (final String name , final DataSnapshot dataSnapshot ) {
329+ WritableMap data = this .dataSnapshotToMap (name , dataSnapshot );
330+ WritableMap evt = Arguments .createMap ();
331+ evt .putString ("eventName" , name );
332+ evt .putMap ("body" , data );
333+ FirestackUtils .sendEvent (mReactContext , "database_event" , evt );
334+ }
335+
336+ private void handleDatabaseError (final String name , final DatabaseError error ) {
337+ WritableMap err = Arguments .createMap ();
338+ err .putInt ("errorCode" , error .getCode ());
339+ err .putString ("errorDetails" , error .getDetails ());
340+ err .putString ("description" , error .getMessage ());
341+
342+ WritableMap evt = Arguments .createMap ();
343+ evt .putString ("eventName" , name );
344+ evt .putMap ("body" , err );
345+ FirestackUtils .sendEvent (mReactContext , "database_error" , evt );
346+ }
347+
344348 private void handleCallback (
345349 final String methodName ,
346350 final Callback callback ,
0 commit comments