Persist your Ember Data models in Cloud Firestore
// app/adapters/application.js
import FirestoreAdapter from 'emberfire/adapters/firestore';
export default FirestoreAdapter.extend({
// configuration goes here
});object & Adapter<this>
↳ FirestoreAdapter
- createRecord
- deleteRecord
- findAll
- findBelongsTo
- findHasMany
- findRecord
- query
- queryRecord
- shouldBackgroundReloadRecord
- updateRecord
● enablePersistence: boolean
Defined in adapters/firestore.ts:52
Enable offline persistence with Cloud Firestore, it is not enabled by default
// app/adapters/application.js
import FirestoreAdapter from 'emberfire/adapters/firestore';
export default FirestoreAdapter.extend({
enablePersistence: true
});● firebaseApp: ComputedProperty<FirebaseAppService, FirebaseAppService>
Defined in adapters/firestore.ts:118
Override the default FirebaseApp Service used by the FirestoreAdapter: service('firebase-app')
// app/adapters/application.js
import FirestoreAdapter from 'emberfire/adapters/firestore';
import { inject as service } from '@ember/service';
export default FirestoreAdapter.extend({
firebaseApp: service('firebase-different-app')
});● namespace: string | undefined
Defined in adapters/firestore.ts:68
Namespace all of the default collections
// app/adapters/application.js
import FirestoreAdapter from 'emberfire/adapters/firestore';
export default FirestoreAdapter.extend({
namespace: 'environments/production'
});● persistenceSettings: PersistenceSettings
Defined in adapters/firestore.ts:101
Pass persistence settings to Cloud Firestore, enablePersistence has to be true for these to be used
// app/adapters/application.js
import FirestoreAdapter from 'emberfire/adapters/firestore';
export default FirestoreAdapter.extend({
enablePersistence: true,
persistenceSettings: { synchronizeTabs: true }
});● settings: Settings
Defined in adapters/firestore.ts:84
Override the default configuration of the Cloud Firestore adapter: { timestampsInSnapshots: true }
// app/adapters/application.js
import FirestoreAdapter from 'emberfire/adapters/firestore';
export default FirestoreAdapter.extend({
settings: { timestampsInSnapshots: true }
});▸ createRecord<K>(_store: Store, type: ModelRegistry[K], snapshot: Snapshot<K>): Promise<DocumentSnapshot>
Defined in adapters/firestore.ts:181
Type parameters:
Parameters:
| Name | Type |
|---|---|
| _store | Store |
| type | ModelRegistry[K] |
| snapshot | Snapshot<K> |
Returns: Promise<DocumentSnapshot>
▸ deleteRecord<K>(_store: Store, type: ModelRegistry[K], snapshot: Snapshot<K>): Promise<void>
Defined in adapters/firestore.ts:192
Type parameters:
Parameters:
| Name | Type |
|---|---|
| _store | Store |
| type | ModelRegistry[K] |
| snapshot | Snapshot<K> |
Returns: Promise<void>
▸ findAll<K>(store: Store, type: ModelRegistry[K]): Promise<QuerySnapshot>
Defined in adapters/firestore.ts:124
Type parameters:
Parameters:
| Name | Type |
|---|---|
| store | Store |
| type | ModelRegistry[K] |
Returns: Promise<QuerySnapshot>
▸ findBelongsTo<K>(store: Store, snapshot: Snapshot<K>, url: string, relationship: object): Promise<any>
Defined in adapters/firestore.ts:139
Type parameters:
Parameters:
| Name | Type |
|---|---|
| store | Store |
| snapshot | Snapshot<K> |
| url | string |
| relationship | object |
Returns: Promise<any>
▸ findHasMany<K>(store: Store, snapshot: Snapshot<K>, url: string, relationship: object): Promise<any>
Defined in adapters/firestore.ts:128
Type parameters:
Parameters:
| Name | Type |
|---|---|
| store | Store |
| snapshot | Snapshot<K> |
| url | string |
| relationship | object |
Returns: Promise<any>
▸ findRecord<K>(_store: Store, type: ModelRegistry[K], id: string): Promise<DocumentSnapshot>
Defined in adapters/firestore.ts:120
Type parameters:
Parameters:
| Name | Type |
|---|---|
| _store | Store |
| type | ModelRegistry[K] |
| id | string |
Returns: Promise<DocumentSnapshot>
▸ query<K>(_store: Store, type: ModelRegistry[K], options?: QueryOptions, _recordArray?: DS.AdapterPopulatedRecordArray<any>): Promise<QuerySnapshot>
Defined in adapters/firestore.ts:148
Type parameters:
Parameters:
| Name | Type |
|---|---|
| _store | Store |
| type | ModelRegistry[K] |
Optional options |
QueryOptions |
Optional _recordArray |
DS.AdapterPopulatedRecordArray<any> |
Returns: Promise<QuerySnapshot>
▸ queryRecord<K>(_store: Store, type: ModelRegistry[K], options?: QueryOptions | QueryRecordOptions): Promise<DocumentSnapshot>
Defined in adapters/firestore.ts:152
Type parameters:
Parameters:
| Name | Type |
|---|---|
| _store | Store |
| type | ModelRegistry[K] |
Optional options |
QueryOptions | QueryRecordOptions |
Returns: Promise<DocumentSnapshot>
▸ shouldBackgroundReloadRecord(): boolean
Defined in adapters/firestore.ts:170
Returns: boolean
▸ updateRecord<K>(_store: Store, type: ModelRegistry[K], snapshot: Snapshot<K>): Promise<void>
Defined in adapters/firestore.ts:174
Type parameters:
Parameters:
| Name | Type |
|---|---|
| _store | Store |
| type | ModelRegistry[K] |
| snapshot | Snapshot<K> |
Returns: Promise<void>