Classes
This documentation covers the core classes used in the ROAR Firebase Functions backend architecture. The classes are organized into several key categories:
Repository Classes
These classes handle data access and persistence:
FirestoreBaseRepository
- Base abstract class implementing common Firestore operationsFirestoreAdministrationRepository
- Repository for administration dataFirestoreIdentityProviderRepository
- Repository for identity provider dataFirestoreOrgRepository
- Repository for organization dataFirestoreUserRepository
- Repository for user dataFirestoreUserClaimRepository
- Repository for user claims data
Error Classes
Custom error classes for different parts of the system:
Repository Errors
FirestoreRepositoryError
- Base error class for repository operationsFirestoreAdministrationRepositoryError
- Administration repository specific errorsFirestoreIdentityProviderRepositoryError
- Identity provider repository errorsFirestoreOrgRepositoryError
- Organization repository errorsFirestoreUserRepositoryError
- User repository errorsFirestoreUserClaimRepositoryError
- User claims repository errors
Service Errors
AdministrationServiceError
- Administration service layer errorsIdentityProviderServiceError
- Identity provider service errors
Client Errors
FirebaseClientError
- Firebase client-related errorsFirebaseImplementationError
- Firebase implementation-specific errors
Utility Classes
FirestoreFilterAdapter
- Adapter for converting application filters to Firestore format
Key Features
- All repository classes extend
FirestoreBaseRepository
to inherit common Firestore operations - Custom error handling with specialized error classes for each layer
- Type safety through TypeScript interfaces and generics
- Consistent patterns for data access and error handling
- Clear separation of concerns between repositories, services and error handling
Usage
The classes are designed to be used together in a layered architecture:
- Repository classes handle direct data access
- Service classes use repositories and handle business logic
- Error classes provide granular error handling and context
- Filter adapter helps convert between application and Firestore data formats
Each class is documented with its purpose, methods, parameters and return types.
For more details on each class, click the links above to view the individual class documentation pages.