1
1
import { Inject , Injectable } from '@angular/core' ;
2
- import { FirebaseConfig } from '../tokens' ;
2
+ import { FirebaseApp , FirebaseConfig } from '../tokens' ;
3
3
import { FirebaseAppConfig } from '../angularfire2' ;
4
4
import { FirebaseListFactory } from './index' ;
5
5
import { FirebaseListFactoryOpts , FirebaseObjectFactoryOpts } from '../interfaces' ;
@@ -12,16 +12,17 @@ import {
12
12
13
13
@Injectable ( )
14
14
export class AngularFireDatabase {
15
- constructor ( @Inject ( FirebaseConfig ) private fbConfig :FirebaseAppConfig ) { }
15
+ constructor ( @Inject ( FirebaseConfig ) private fbConfig :FirebaseAppConfig ,
16
+ @Inject ( FirebaseApp ) private fbApp :firebase . app . App ) { }
16
17
list ( urlOrRef :string | firebase . database . Reference , opts ?:FirebaseListFactoryOpts ) :FirebaseListObservable < any [ ] > {
17
18
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 ) ,
19
20
isRef : ( ) => FirebaseListFactory ( < firebase . database . Reference > urlOrRef )
20
21
} ) ;
21
22
}
22
23
object ( urlOrRef : string | firebase . database . Reference , opts ?:FirebaseObjectFactoryOpts ) :FirebaseObjectObservable < any > {
23
24
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 ) ,
25
26
isRef : ( ) => FirebaseObjectFactory ( urlOrRef )
26
27
} ) ;
27
28
}
0 commit comments