Commit Graph
22 Commits
Author SHA1 Message Date
Sebastian Schmidt 9bfbb9ece0 Enable clang-format for RTDB (#3506) 2019-08-05 13:27:47 -07:00
Paul Beusterien 943141e0cd Use registerLibrary for pods in Firebase workspace (#2137)
* Add versioning to Functions and convert to FIRLibrary
* Convert Firestore to FIRLibrary
* Point travis to FirebaseCore pre-release for its deps
* Update user agent strings to match spec
2018-12-13 08:36:08 -08:00
Benoit St-Pierre 54659e8d99 Database Interop Rollforward (#2095)
* Register Database with Interop

+ Add AuthInterop dependency
+ Have Database register with Interop component container
+ Add weak dependency on Auth
~ Cleaned up imports

* Use Interop for Auth token fetching

+ Use macro to get auth component
~ Change `getTokenForcingRefresh:withCallback:` call to use Interop component version of Auth
~ Clean up imports

* Implement necessary protocols

+ Added FIRComponentRegistrant and FIRDatabaseNilProtocol to FIRDatabase

* Squash of my previous local commits for Database Interop

Register Database with Interop:

  + Add AuthInterop dependency
  + Have Database register with Interop component container
  + Add weak dependency on Auth
  ~ Cleaned up imports

Use Interop for Auth token fetching:

  + Use macro to get auth component
  ~ Change `getTokenForcingRefresh:withCallback:` call to use Interop component version of Auth
  ~ Clean up imports

Implement necessary protocols:

  + Added FIRComponentRegistrant and FIRDatabaseNilProtocol to FIRDatabase

Clean up Database tests:

  - Removed all unnecessary header files
  ~ Ran style.sh across all the tests

Cleaned Up project file:

  Some header removals were missed in the last commit.

Sorted some test files

Fix Database Fake App Tests:

  + Added container property
  + Added an Auth fake in the container
  + Added the Shared utils files to the necessary targets
  + Added a missing XCTest reference in a test that didn't compile for me

* Revert "Squash of my previous local commits for Database Interop"

This reverts commit c0d0421237.

* Cleaned Up project file

Some header removals were missed in the last commit.

* Sorted some test files

* Fix Database Fake App Tests

+ Added container property
+ Added an Auth fake in the container
+ Added the Shared utils files to the necessary targets
+ Added a missing XCTest reference in a test that didn't compile for me

* PR Feedback Changes

+ Created new FIRDatabaseComponent class to encapsulate instance creation
+ Updated FAuthTokenProvider to only use an auth instance rather than an app.

* PR Feedback Follow-Up

- Removed FIRDatabase registration code

* pod deintegrate

* Move instance management

Somes tests may still be out of date.

* Fix Auth integration test

* pod deintegrate -- again

* PR Feedback

* PR Feedback

Added the FIRComponentLifecycleMaintainer protocol to FIRDatabaseComponent

* Update Firebase/Database/Api/FIRDatabaseComponent.m

Missed some small changes

* Get integration tests compiling

* Fix some tests

* Fixed more tests

Component needs to be cacheable in order to get the appWIllBeDeleted callback.

* Update target memberships

* Revert project file changes

* Add FIRAuthInteropFake for broken targets

* PR feedback

* Spacing and Style

* Moved `instances` to ivar

* Simplify FIRDatabaseDictionary

It's now keyed on the URL with the app being implied since each app will get its own `FIRDatabaseComponent`

* Fix Database Integration Tests

Have the FakeApp cache DB instances
Use the Full host/URL path to cache DB instances
Simplified shared scheme

```
Test Suite 'Database_IntegrationTests_iOS.xctest' passed at 2018-11-20 07:09:30.520.
	 Executed 326 tests, with 0 failures (0 unexpected) in 66.251 (66.528) seconds
Test Suite 'All tests' passed at 2018-11-20 07:09:30.522.
	 Executed 326 tests, with 0 failures (0 unexpected) in 66.251 (66.530) seconds
```

* Clarify defaultApp use
2018-11-22 06:44:42 -05:00
Benoit St-Pierre 50d27eb6ac Revert "Database Interop (#1865)" (#2093)
This reverts commit 4090195f15.
2018-11-19 09:52:42 -05:00
Benoit St-Pierre 4090195f15 Database Interop (#1865)
* Register Database with Interop

+ Add AuthInterop dependency
+ Have Database register with Interop component container
+ Add weak dependency on Auth
~ Cleaned up imports

* Use Interop for Auth token fetching

+ Use macro to get auth component
~ Change `getTokenForcingRefresh:withCallback:` call to use Interop component version of Auth
~ Clean up imports

* Implement necessary protocols

+ Added FIRComponentRegistrant and FIRDatabaseNilProtocol to FIRDatabase

* Squash of my previous local commits for Database Interop

Register Database with Interop:

  + Add AuthInterop dependency
  + Have Database register with Interop component container
  + Add weak dependency on Auth
  ~ Cleaned up imports

Use Interop for Auth token fetching:

  + Use macro to get auth component
  ~ Change `getTokenForcingRefresh:withCallback:` call to use Interop component version of Auth
  ~ Clean up imports

Implement necessary protocols:

  + Added FIRComponentRegistrant and FIRDatabaseNilProtocol to FIRDatabase

Clean up Database tests:

  - Removed all unnecessary header files
  ~ Ran style.sh across all the tests

Cleaned Up project file:

  Some header removals were missed in the last commit.

Sorted some test files

Fix Database Fake App Tests:

  + Added container property
  + Added an Auth fake in the container
  + Added the Shared utils files to the necessary targets
  + Added a missing XCTest reference in a test that didn't compile for me

* Revert "Squash of my previous local commits for Database Interop"

This reverts commit c0d0421237.

* Cleaned Up project file

Some header removals were missed in the last commit.

* Sorted some test files

* Fix Database Fake App Tests

+ Added container property
+ Added an Auth fake in the container
+ Added the Shared utils files to the necessary targets
+ Added a missing XCTest reference in a test that didn't compile for me

* PR Feedback Changes

+ Created new FIRDatabaseComponent class to encapsulate instance creation
+ Updated FAuthTokenProvider to only use an auth instance rather than an app.

* PR Feedback Follow-Up

- Removed FIRDatabase registration code

* pod deintegrate

* Move instance management

Somes tests may still be out of date.

* Fix Auth integration test

* pod deintegrate -- again

* PR Feedback

* PR Feedback

Added the FIRComponentLifecycleMaintainer protocol to FIRDatabaseComponent

* Update Firebase/Database/Api/FIRDatabaseComponent.m

Missed some small changes

* Get integration tests compiling

* Fix some tests

* Fixed more tests

Component needs to be cacheable in order to get the appWIllBeDeleted callback.

* Update target memberships

* Revert project file changes

* Add FIRAuthInteropFake for broken targets

* PR feedback

* Spacing and Style

* Moved `instances` to ivar

* Simplify FIRDatabaseDictionary

It's now keyed on the URL with the app being implied since each app will get its own `FIRDatabaseComponent`
2018-11-19 07:36:05 -05:00
Paul Beusterien 16132541d4 Fix undefined behavior sanitizer issues in RTDB (#1445) 2018-06-25 10:49:10 -07:00
Ryan Wilson dea3fe9aeb Explicitly import FIRDataSnapshot in private header. (#1276) 2018-05-14 12:14:17 -07:00
Paul Beusterien ed3e4982f9 Standardize cross module imports with angle bracket syntax (#526)
Qualify all cross-pod imports of FirebaseCore headers
2017-12-04 08:52:11 -08:00
Paul Beusterien 343421d93e FIRAppInternal.h is a published private header (#501) 2017-11-28 13:52:51 -08:00
Ibrahim Ulukaya 07595ce66b Enumerator using generic. Cleaner for .. in .. loop in Swift (#433)
* Enumerator using generic. Cleaner for .. in .. loop in Swift

So 
for childSnapshot in snapshot.children {
you don't need to cast each child. Each cild is already known as DataSnapshot

* Update FIRDataSnapshot.h

* Update FIRMutableData.h

* Update FIRMutableData.m
2017-11-08 17:22:01 -05:00
Sebastian Schmidt c6bde890ce Adding Multi-Resource support to the Firebase iOS SDK (#278)
* Adding Multi-Resource support to the Firebase iOS SDK.

This CL also makes RepoInfo hashable and simplifies RepoManager based on this.
2017-09-15 16:45:46 -07:00
Sebastian Schmidt f0442122d3 Don't delete apps that don't exist (#276) 2017-09-15 12:11:33 -07:00
Sebastian Schmidt 1df4f7287d Fixing the session identifier for non-default apps (#240) 2017-09-06 16:07:13 -07:00
Ryan Wilson 566665e3bb Delete app from Database when deleted in Core. (#194)
* Delete an app from Database when deleted in Core.

When a FIRApp is deleted in Core, it should also be deleted from
the instances array in Database.

See #160 for more details.

* Add tests for deleting databases.

* Add call to clean up deleted FIRDatabase instance.
2017-08-17 11:15:25 -04:00
Ryan Wilson 6e00706604 Move Auth notification constant into Core. (#155)
* Move Auth notification constant into Core.

SDKs that want to listen for the internal Auth notifications needed
to copy the notification strings to their own SDK instead of relying
on Auth's definition in order to avoid a dependency on Auth. By moving
them to Core, SDKs can use the constants without taking on another
dependency.

* Remove Auth stub, add app instance to notification.
2017-08-04 15:42:14 -07:00
Paul Beusterien 053b2f11ea Use modulemap to fix exposure of FirebaseCore's internal headers (#121) 2017-07-10 14:57:03 -07:00
Paul Beusterien ddbfd4cc66 Add travis trailing whitespace check (#116)
* Add travis trailing whitespace check

* Remove trailing white space
2017-06-30 13:47:37 -04:00
Paul Beusterien c33bdff405 Group public headers into Public directories (#112) 2017-06-29 12:03:45 -07:00
Paul Beusterien 6bf24632ed Add missing terminating newlines (#70) 2017-06-06 12:16:58 -07:00
Andrew Breckenridge 96859c6c70 mark FIRDatabase init unavailable (#48)
FIRDatabase's initializer is inherited from NSObject and causes subtle bugs if called. See https://github.com/firebase/firebase-ios-sdk/issues/31
2017-06-01 10:35:38 -07:00
Ryan Wilson 6a850b8cb1 Remove double commented lines. (#11) 2017-05-17 15:13:12 -07:00
Paul Beusterien 98ba64449a Initial 2017-05-15 12:27:07 -07:00