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
>