@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
FirestoreAdministrationRepositoryFirestoreIdentityProviderRepositoryFirestoreOrgRepositoryFirestoreUserRepositoryFirestoreUserClaimRepository
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
protectedcollection:CollectionReference
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:46
Collection reference
collectionGroup
protectedcollectionGroup: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
protectedcollectionType:CollectionType
Defined in: packages/core/src/repositories/firestore/FirestoreBaseRepository.repository.firestore.ts:48
filterAdapter
protectedfilterAdapter: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 
idis provided, returns a single document - If 
filtersare provided, returns multiple documents that match the filters - Requires either 
idorfiltersto 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