Commits
Benoit St-Pierre authored and GitHub committed 4090195f152
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 c0d0421237e3fb4be8afef22f99a0e5631f8cb9d. * 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`