@@ -14,22 +14,22 @@ import Store from '@ember-data/store';
14
14
import {
15
15
CollectionReference ,
16
16
DocumentReference ,
17
+ Firestore ,
17
18
Query ,
18
19
WriteBatch ,
19
20
} from 'firebase/firestore' ;
20
- import firebase from 'firebase/compat/app' ;
21
21
22
22
import {
23
23
collection ,
24
24
doc ,
25
25
getDoc ,
26
26
getDocs ,
27
+ getFirestore ,
27
28
query ,
28
29
where ,
29
30
writeBatch ,
30
31
} from 'ember-cloud-firestore-adapter/firebase/firestore' ;
31
32
import { AdapterRecordNotFoundError } from 'ember-cloud-firestore-adapter/utils/custom-errors' ;
32
- import FirebaseService from 'ember-cloud-firestore-adapter/services/-firebase' ;
33
33
import FirestoreDataManager from 'ember-cloud-firestore-adapter/services/-firestore-data-manager' ;
34
34
import buildCollectionName from 'ember-cloud-firestore-adapter/-private/build-collection-name' ;
35
35
import flattenDocSnapshot from 'ember-cloud-firestore-adapter/-private/flatten-doc-snapshot' ;
@@ -42,9 +42,9 @@ interface AdapterOption {
42
42
isRealtime ?: boolean ;
43
43
queryId ?: string ;
44
44
45
- buildReference ?( db : firebase . firestore . Firestore ) : CollectionReference ;
45
+ buildReference ?( db : Firestore ) : CollectionReference ;
46
46
filter ?( db : CollectionReference ) : Query ;
47
- include ?( batch : WriteBatch , db : firebase . firestore . Firestore ) : void ;
47
+ include ?( batch : WriteBatch , db : Firestore ) : void ;
48
48
49
49
[ key : string ] : unknown ;
50
50
}
@@ -68,15 +68,12 @@ interface HasManyRelationshipMeta {
68
68
options : {
69
69
isRealtime ?: boolean ,
70
70
71
- buildReference ?( db : firebase . firestore . Firestore , record : unknown ) : CollectionReference ,
71
+ buildReference ?( db : Firestore , record : unknown ) : CollectionReference ,
72
72
filter ?( db : CollectionReference | Query , record : unknown ) : Query ,
73
73
} ;
74
74
}
75
75
76
76
export default class CloudFirestoreModularAdapter extends Adapter {
77
- @service ( '-firebase' )
78
- protected declare firebase : FirebaseService ;
79
-
80
77
@service ( '-firestore-data-manager' )
81
78
private declare firestoreDataManager : FirestoreDataManager ;
82
79
@@ -89,7 +86,7 @@ export default class CloudFirestoreModularAdapter extends Adapter {
89
86
}
90
87
91
88
public generateIdForRecord ( _store : Store , type : string ) : string {
92
- const db = this . firebase . firestore ( ) ;
89
+ const db = getFirestore ( ) ;
93
90
const collectionName = buildCollectionName ( type ) ;
94
91
95
92
return doc ( collection ( db , collectionName ) ) . id ;
@@ -134,7 +131,7 @@ export default class CloudFirestoreModularAdapter extends Adapter {
134
131
snapshot : Snapshot ,
135
132
) : RSVP . Promise < unknown > {
136
133
return new RSVP . Promise ( ( resolve , reject ) => {
137
- const db = this . firebase . firestore ( ) ;
134
+ const db = getFirestore ( ) ;
138
135
const collectionRef = this . buildCollectionRef ( type . modelName , snapshot . adapterOptions ) ;
139
136
const docRef = doc ( collectionRef , snapshot . id ) ;
140
137
const batch = writeBatch ( db ) ;
@@ -183,7 +180,7 @@ export default class CloudFirestoreModularAdapter extends Adapter {
183
180
) : RSVP . Promise < unknown > {
184
181
return new RSVP . Promise ( async ( resolve , reject ) => {
185
182
try {
186
- const db = this . firebase . firestore ( ) ;
183
+ const db = getFirestore ( ) ;
187
184
const colRef = collection ( db , buildCollectionName ( type . modelName ) ) ;
188
185
const querySnapshot = snapshotRecordArray ?. adapterOptions ?. isRealtime && ! this . isFastBoot
189
186
? await this . firestoreDataManager . findAllRealtime ( type . modelName , colRef )
@@ -241,7 +238,7 @@ export default class CloudFirestoreModularAdapter extends Adapter {
241
238
242
239
urlNodes . pop ( ) ;
243
240
244
- const db = this . firebase . firestore ( ) ;
241
+ const db = getFirestore ( ) ;
245
242
const docRef = doc ( db , urlNodes . join ( '/' ) , id ) ;
246
243
const modelName = relationship . type ;
247
244
const docSnapshot = relationship . options . isRealtime && ! this . isFastBoot
@@ -292,7 +289,7 @@ export default class CloudFirestoreModularAdapter extends Adapter {
292
289
modelName : string ,
293
290
adapterOptions ?: AdapterOption ,
294
291
) : CollectionReference {
295
- const db = this . firebase . firestore ( ) ;
292
+ const db = getFirestore ( ) ;
296
293
297
294
return adapterOptions ?. buildReference ?.( db ) || collection ( db , buildCollectionName ( modelName ) ) ;
298
295
}
@@ -308,13 +305,13 @@ export default class CloudFirestoreModularAdapter extends Adapter {
308
305
}
309
306
310
307
private addIncludeToWriteBatch ( batch : WriteBatch , adapterOptions ?: AdapterOption ) : void {
311
- const db = this . firebase . firestore ( ) ;
308
+ const db = getFirestore ( ) ;
312
309
313
310
adapterOptions ?. include ?.( batch , db ) ;
314
311
}
315
312
316
313
private buildWriteBatch ( docRef : DocumentReference , snapshot : Snapshot ) : WriteBatch {
317
- const db = this . firebase . firestore ( ) ;
314
+ const db = getFirestore ( ) ;
318
315
const batch = writeBatch ( db ) ;
319
316
320
317
this . addDocRefToWriteBatch ( batch , docRef , snapshot ) ;
@@ -329,7 +326,7 @@ export default class CloudFirestoreModularAdapter extends Adapter {
329
326
url : string ,
330
327
relationship : HasManyRelationshipMeta ,
331
328
) : CollectionReference | Query {
332
- const db = this . firebase . firestore ( ) ;
329
+ const db = getFirestore ( ) ;
333
330
334
331
if ( relationship . options . buildReference ) {
335
332
const collectionRef = relationship . options . buildReference ( db , snapshot . record ) ;
0 commit comments