@roar-firebase-functions/core / FirestoreBaseRepository
Class: abstract
FirestoreBaseRepository<T>
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:45
The FirestoreRepository base class is used to interact with Firestore collections. FirestoreRepository FirestoreRepository
Throws
- Error handling for FirestoreRepository
Extended by
FirestoreAdministrationRepository
FirestoreIdentityProviderRepository
FirestoreOrgRepository
FirestoreUserRepository
FirestoreUserClaimRepository
Type Parameters
T
T
Implements
Constructors
Constructor
new FirestoreBaseRepository<
T
>(firestore
,collection
,collectionType
):FirestoreBaseRepository
<T
>
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:51
Parameters
firestore
Firestore
= FirestoreClient
collection
string
collectionType
Returns
FirestoreBaseRepository
<T
>
Properties
collection
protected
collection:CollectionReference
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:46
Collection reference
collectionGroup
protected
collectionGroup:CollectionGroup
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:47
Collection group reference {getCollectionName} - Get collection reference {getCollectionGroupName} - Get collection group reference {getCollectionType} - Get collection type {get} - Get document by ID or with filters {getById} - Get document by ID, helper function for get() {fetchDocument} - Fetch document, helper function for getById() and getWithFilters() {getAll} - Get all documents {runTransaction} - Run transaction {create} - Create document {update} - Update document {delete} - Delete document {getWithFilters} - Get documents with filters, helper function for get()
collectionType
protected
collectionType:CollectionType
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:48
filterAdapter
protected
filterAdapter:FirestoreFilterAdapter
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:49
Methods
create()
create(
params
):Promise
<Result
<T
>>
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:229
Creates a new entity in the repository.
Parameters
params
CreateParams
Returns
Promise
<Result
<T
>>
- Document data or null
Throws
- Error creating document
Implementation of
delete()
delete(
params
):Promise
<void
>
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:280
Deletes an entity from the repository.
Parameters
params
DeleteParams
Returns
Promise
<void
>
Throws
- Error deleting document
Implementation of
fetchDocument()
fetchDocument(
params
):Promise
<Result
<T
>>
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:178
Helper function to fetch a document fetchDocument
Parameters
params
FetchDocumentParams
Returns
Promise
<Result
<T
>>
- Document data or null
Throws
- Error fetching document
get()
Get document(s) based on parameters
- If
id
is provided, returns a single document - If
filters
are provided, returns multiple documents that match the filters - Requires either
id
orfilters
to be specified
Param
Parameters for retrieving documents
Param
Document ID for single document retrieval
Param
Array of filters for querying documents
Param
Maximum number of documents to return (for filtered queries)
Param
Fields to include in the result
Param
Firestore transaction
Throws
If neither ID nor filters are provided
Call Signature
get(
params
):Promise
<Result
<T
>>
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:94
Get document by ID get
Parameters
params
FirestoreGetParams
& object
GetParams with ID
Returns
Promise
<Result
<T
>>
- Single document or array of documents
Param
Parameters for retrieving documents
Param
Document ID for single document retrieval
Param
Array of filters for querying documents
Param
Maximum number of documents to return (for filtered queries)
Param
Fields to include in the result
Param
Firestore transaction
Throws
If neither ID nor filters are provided
Implementation of
Call Signature
get(
params
):Promise
<Result
<T
>[]>
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:102
Get documents by filters get
Parameters
params
FirestoreGetParams
& object
GetParams with filters
Returns
Promise
<Result
<T
>[]>
- Single document or array of documents
Param
Parameters for retrieving documents
Param
Document ID for single document retrieval
Param
Array of filters for querying documents
Param
Maximum number of documents to return (for filtered queries)
Param
Fields to include in the result
Param
Firestore transaction
Throws
If neither ID nor filters are provided
Implementation of
getAll()
getAll():
Promise
<Result
<T
>[]>
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:204
Retrieves all entities with optional filtering.
Returns
Promise
<Result
<T
>[]>
- Array of document data
Throws
- Error getting all documents
Implementation of
getById()
getById(
params
):Promise
<Result
<T
>>
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:154
Helper function to get document by ID getById
Parameters
params
GetByIdParams
Returns
Promise
<Result
<T
>>
- Document data or null
Throws
- Error getting document by ID
getCollection()
getCollection():
CollectionReference
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:66
Get collection reference getCollection
Returns
CollectionReference
- Collection reference
getCollectionGroup()
getCollectionGroup():
CollectionGroup
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:75
Get collection group reference getCollectionGroup
Returns
CollectionGroup
- Collection group reference
getCollectionType()
getCollectionType():
CollectionType
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:84
Get collection type getCollectionType
Returns
- Collection type
getWithFilters()
getWithFilters(
params
):Promise
<Result
<T
>[]>
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:300
Get documents with filters getWithFilters
Parameters
params
GetWithFiltersParams
Returns
Promise
<Result
<T
>[]>
- Document data or null
Throws
- Error getting documents with filters
runTransaction()
runTransaction(
params
):Promise
<T
>
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:360
Executes operations within a transaction context.
Parameters
params
FirestoreRunTransactionParams
<T
>
RunTransactionParams
Returns
Promise
<T
>
- Result of the transaction
Throws
- Error running transaction
Example
await runTransaction({ fn: async (transaction) => { ... } });
Implementation of
update()
update(
params
):Promise
<Result
<T
>>
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:256
Updates an existing entity in the repository.
Parameters
params
UpdateParams
Returns
Promise
<Result
<T
>>
- Document data or null
Throws
- Error updating document