Skip to content

Commit 6caac60

Browse files
committed
Stop storing Firebase database reference in iOS module
1 parent 09b3fe1 commit 6caac60

File tree

2 files changed

+17
-19
lines changed

2 files changed

+17
-19
lines changed

ios/Firestack/FirestackDatabase.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
}
1919

2020
@property NSMutableDictionary *dbReferences;
21-
@property FIRDatabase *database;
2221

2322
@end
2423

ios/Firestack/FirestackDatabase.m

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,6 @@ - (id) init
368368
{
369369
self = [super init];
370370
if (self != nil) {
371-
_database = [FIRDatabase database];
372371
_dbReferences = [[NSMutableDictionary alloc] init];
373372
}
374373
return self;
@@ -378,10 +377,7 @@ - (id) init
378377
callback:(RCTResponseSenderBlock) callback)
379378
{
380379

381-
BOOL isEnabled = _database.persistenceEnabled;
382-
if ( isEnabled != enable) {
383-
_database.persistenceEnabled = enable;
384-
}
380+
[FIRDatabase database].persistenceEnabled = enable;
385381
callback(@[[NSNull null], @{
386382
@"result": @"success"
387383
}]);
@@ -391,7 +387,7 @@ - (id) init
391387
withEnable:(BOOL) enable
392388
callback:(RCTResponseSenderBlock) callback)
393389
{
394-
FIRDatabaseReference *ref = [[_database reference] child:path];
390+
FIRDatabaseReference *ref = [self getPathRef:path];
395391
[ref keepSynced:enable];
396392
callback(@[[NSNull null], @{
397393
@"status": @"success",
@@ -403,8 +399,7 @@ - (id) init
403399
value:(NSDictionary *)value
404400
callback:(RCTResponseSenderBlock) callback)
405401
{
406-
FIRDatabaseReference *ref = [[_database reference] child:path];
407-
402+
FIRDatabaseReference *ref = [self getPathRef:path];
408403
[ref setValue:value withCompletionBlock:^(NSError * _Nullable error, FIRDatabaseReference * _Nonnull ref) {
409404
[self handleCallback:@"set" callback:callback databaseError:error];
410405
}];
@@ -414,8 +409,7 @@ - (id) init
414409
value:(NSDictionary *)value
415410
callback:(RCTResponseSenderBlock) callback)
416411
{
417-
FIRDatabaseReference *ref = [[_database reference] child:path];
418-
412+
FIRDatabaseReference *ref = [self getPathRef:path];
419413
[ref updateChildValues:value withCompletionBlock:^(NSError * _Nullable error, FIRDatabaseReference * _Nonnull ref) {
420414
[self handleCallback:@"update" callback:callback databaseError:error];
421415
}];
@@ -424,7 +418,7 @@ - (id) init
424418
RCT_EXPORT_METHOD(remove:(NSString *) path
425419
callback:(RCTResponseSenderBlock) callback)
426420
{
427-
FIRDatabaseReference *ref = [[_database reference] child:path];
421+
FIRDatabaseReference *ref = [self getPathRef:path];
428422
[ref removeValueWithCompletionBlock:^(NSError * _Nullable error, FIRDatabaseReference * _Nonnull ref) {
429423
[self handleCallback:@"remove" callback:callback databaseError:error];
430424
}];
@@ -434,7 +428,7 @@ - (id) init
434428
props:(NSDictionary *) props
435429
callback:(RCTResponseSenderBlock) callback)
436430
{
437-
FIRDatabaseReference *ref = [[_database reference] child:path];
431+
FIRDatabaseReference *ref = [self getPathRef:path];
438432
FIRDatabaseReference *newRef = [ref childByAutoId];
439433

440434
NSURL *url = [NSURL URLWithString:ref.URL];
@@ -526,7 +520,7 @@ - (id) init
526520
props:(NSDictionary *) props
527521
callback:(RCTResponseSenderBlock) callback)
528522
{
529-
FIRDatabaseReference *ref = [[_database reference] child:path];
523+
FIRDatabaseReference *ref = [self getPathRef:path];
530524
[ref onDisconnectSetValue:props
531525
withCompletionBlock:^(NSError * _Nullable error, FIRDatabaseReference * _Nonnull ref) {
532526
[self handleCallback:@"onDisconnectSetObject" callback:callback databaseError:error];
@@ -537,7 +531,7 @@ - (id) init
537531
val:(NSString *) val
538532
callback:(RCTResponseSenderBlock) callback)
539533
{
540-
FIRDatabaseReference *ref = [[_database reference] child:path];
534+
FIRDatabaseReference *ref = [self getPathRef:path];
541535
[ref onDisconnectSetValue:val
542536
withCompletionBlock:^(NSError * _Nullable error, FIRDatabaseReference * _Nonnull ref) {
543537
[self handleCallback:@"onDisconnectSetString" callback:callback databaseError:error];
@@ -547,7 +541,7 @@ - (id) init
547541
RCT_EXPORT_METHOD(onDisconnectRemove:(NSString *) path
548542
callback:(RCTResponseSenderBlock) callback)
549543
{
550-
FIRDatabaseReference *ref = [[_database reference] child:path];
544+
FIRDatabaseReference *ref = [self getPathRef:path];
551545
[ref onDisconnectRemoveValueWithCompletionBlock:^(NSError * _Nullable error, FIRDatabaseReference * _Nonnull ref) {
552546
[self handleCallback:@"onDisconnectRemove" callback:callback databaseError:error];
553547
}];
@@ -558,12 +552,17 @@ - (id) init
558552
RCT_EXPORT_METHOD(onDisconnectCancel:(NSString *) path
559553
callback:(RCTResponseSenderBlock) callback)
560554
{
561-
FIRDatabaseReference *ref = [[_database reference] child:path];
555+
FIRDatabaseReference *ref = [self getPathRef:path];
562556
[ref cancelDisconnectOperationsWithCompletionBlock:^(NSError * _Nullable error, FIRDatabaseReference * _Nonnull ref) {
563557
[self handleCallback:@"onDisconnectCancel" callback:callback databaseError:error];
564558
}];
565559
}
566560

561+
- (FIRDatabaseReference *) getPathRef:(NSString *) path
562+
{
563+
return [[[FIRDatabase database] reference] child:path];
564+
}
565+
567566
- (void) handleCallback:(NSString *) methodName
568567
callback:(RCTResponseSenderBlock) callback
569568
databaseError:(NSError *) databaseError
@@ -592,7 +591,7 @@ - (FirestackDBReference *) getDBHandle:(NSString *) path
592591

593592
if (ref == nil) {
594593
ref = [[FirestackDBReference alloc] initWithPathAndModifiers:self
595-
database:_database
594+
database:[FIRDatabase database]
596595
path:path
597596
modifiers:modifiers
598597
modifiersString:modifiersString];
@@ -612,4 +611,4 @@ - (NSString *) getDBListenerKey:(NSString *) path
612611
return @[DATABASE_DATA_EVENT, DATABASE_ERROR_EVENT];
613612
}
614613

615-
@end
614+
@end

0 commit comments

Comments
 (0)