Class: FirestoreAdapter
May 31, 2019 · View on GitHub
Class: FirestoreAdapter
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
});
Hierarchy
object & Adapter<this>
↳ FirestoreAdapter
Index
Properties
Methods
- createRecord
- deleteRecord
- findAll
- findBelongsTo
- findHasMany
- findRecord
- query
- queryRecord
- shouldBackgroundReloadRecord
- updateRecord
Properties
enablePersistence
● 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
● 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
● 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: 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: 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 }
});
Methods
createRecord
▸ createRecord<K>(_store: Store, type: ModelRegistry[K], snapshot: Snapshot<K>): Promise<DocumentSnapshot>
Defined in adapters/firestore.ts:181
Type parameters:
K : keyof ModelRegistry
Parameters:
| Name | Type |
|---|---|
| _store | Store |
| type | ModelRegistry[K] |
| snapshot | Snapshot<K> |
Returns: Promise<DocumentSnapshot>
deleteRecord
▸ deleteRecord<K>(_store: Store, type: ModelRegistry[K], snapshot: Snapshot<K>): Promise<void>
Defined in adapters/firestore.ts:192
Type parameters:
K : keyof ModelRegistry
Parameters:
| Name | Type |
|---|---|
| _store | Store |
| type | ModelRegistry[K] |
| snapshot | Snapshot<K> |
Returns: Promise<void>
findAll
▸ findAll<K>(store: Store, type: ModelRegistry[K]): Promise<QuerySnapshot>
Defined in adapters/firestore.ts:124
Type parameters:
K : keyof ModelRegistry
Parameters:
| Name | Type |
|---|---|
| store | Store |
| type | ModelRegistry[K] |
Returns: Promise<QuerySnapshot>
findBelongsTo
▸ findBelongsTo<K>(store: Store, snapshot: Snapshot<K>, url: string, relationship: object): Promise<any>
Defined in adapters/firestore.ts:139
Type parameters:
K : keyof ModelRegistry
Parameters:
| Name | Type |
|---|---|
| store | Store |
| snapshot | Snapshot<K> |
| url | string |
| relationship | object |
Returns: Promise<any>
findHasMany
▸ findHasMany<K>(store: Store, snapshot: Snapshot<K>, url: string, relationship: object): Promise<any>
Defined in adapters/firestore.ts:128
Type parameters:
K : keyof ModelRegistry
Parameters:
| Name | Type |
|---|---|
| store | Store |
| snapshot | Snapshot<K> |
| url | string |
| relationship | object |
Returns: Promise<any>
findRecord
▸ findRecord<K>(_store: Store, type: ModelRegistry[K], id: string): Promise<DocumentSnapshot>
Defined in adapters/firestore.ts:120
Type parameters:
K : keyof ModelRegistry
Parameters:
| Name | Type |
|---|---|
| _store | Store |
| type | ModelRegistry[K] |
| id | string |
Returns: Promise<DocumentSnapshot>
query
▸ query<K>(_store: Store, type: ModelRegistry[K], options?: QueryOptions, _recordArray?: DS.AdapterPopulatedRecordArray<any>): Promise<QuerySnapshot>
Defined in adapters/firestore.ts:148
Type parameters:
K : keyof ModelRegistry
Parameters:
| Name | Type |
|---|---|
| _store | Store |
| type | ModelRegistry[K] |
Optional options | QueryOptions |
Optional _recordArray | DS.AdapterPopulatedRecordArray<any> |
Returns: Promise<QuerySnapshot>
queryRecord
▸ queryRecord<K>(_store: Store, type: ModelRegistry[K], options?: QueryOptions | QueryRecordOptions): Promise<DocumentSnapshot>
Defined in adapters/firestore.ts:152
Type parameters:
K : keyof ModelRegistry
Parameters:
| Name | Type |
|---|---|
| _store | Store |
| type | ModelRegistry[K] |
Optional options | QueryOptions | QueryRecordOptions |
Returns: Promise<DocumentSnapshot>
shouldBackgroundReloadRecord
▸ shouldBackgroundReloadRecord(): boolean
Defined in adapters/firestore.ts:170
Returns: boolean
updateRecord
▸ updateRecord<K>(_store: Store, type: ModelRegistry[K], snapshot: Snapshot<K>): Promise<void>
Defined in adapters/firestore.ts:174
Type parameters:
K : keyof ModelRegistry
Parameters:
| Name | Type |
|---|---|
| _store | Store |
| type | ModelRegistry[K] |
| snapshot | Snapshot<K> |
Returns: Promise<void>