11import { Inject , Injectable } from '@angular/core' ;
2- import { FirebaseConfig } from '../tokens' ;
2+ import { FirebaseApp , FirebaseConfig } from '../tokens' ;
33import { FirebaseAppConfig } from '../angularfire2' ;
44import { FirebaseListFactory } from './index' ;
55import { FirebaseListFactoryOpts , FirebaseObjectFactoryOpts } from '../interfaces' ;
@@ -12,16 +12,17 @@ import {
1212
1313@Injectable ( )
1414export class AngularFireDatabase {
15- constructor ( @Inject ( FirebaseConfig ) private fbConfig :FirebaseAppConfig ) { }
15+ constructor ( @Inject ( FirebaseConfig ) private fbConfig :FirebaseAppConfig ,
16+ @Inject ( FirebaseApp ) private fbApp :firebase . app . App ) { }
1617 list ( urlOrRef :string | firebase . database . Reference , opts ?:FirebaseListFactoryOpts ) :FirebaseListObservable < any [ ] > {
1718 return utils . checkForUrlOrFirebaseRef ( urlOrRef , {
18- isUrl : ( ) => FirebaseListFactory ( getAbsUrl ( this . fbConfig , < string > urlOrRef ) , opts ) ,
19+ isUrl : ( ) => FirebaseListFactory ( this . fbApp . database ( ) . refFromURL ( getAbsUrl ( this . fbConfig , < string > urlOrRef ) ) , opts ) ,
1920 isRef : ( ) => FirebaseListFactory ( < firebase . database . Reference > urlOrRef )
2021 } ) ;
2122 }
2223 object ( urlOrRef : string | firebase . database . Reference , opts ?:FirebaseObjectFactoryOpts ) :FirebaseObjectObservable < any > {
2324 return utils . checkForUrlOrFirebaseRef ( urlOrRef , {
24- isUrl : ( ) => FirebaseObjectFactory ( getAbsUrl ( this . fbConfig , < string > urlOrRef ) , opts ) ,
25+ isUrl : ( ) => FirebaseObjectFactory ( this . fbApp . database ( ) . refFromURL ( getAbsUrl ( this . fbConfig , < string > urlOrRef ) ) , opts ) ,
2526 isRef : ( ) => FirebaseObjectFactory ( urlOrRef )
2627 } ) ;
2728 }
0 commit comments