Skip to content

Conversation

@tharropoulos
Copy link
Collaborator

Change Summary

Features Added

Multi-Collection Support: Dynamically generate functions for multiple Firestore collections and subcollections
Collection-Specific Configuration: Individual field filtering, flattening settings, and Typesense collection mapping per Firestore collection
Subcollection Support: Handle nested collections with path parameters (e.g., users/{userId}/books)
Enhanced Field Filtering: Pipe-separated field lists for granular control over indexed data
Centralized Document Processing: New createTypesenseDocument and handleDocumentIndexing functions for consistent document handling
Context Parameter Extraction: Automatically extract and include path placeholders in indexed documents

Configuration Updates

New Environment Variables: FIRESTORE_COLLECTION_PATHS, TYPESENSE_COLLECTION_NAMES, FIRESTORE_COLLECTION_FIELDS_LIST, FLATTEN_NESTED_DOCUMENTS_LIST
Enhanced Extension Configuration: Updated extension.yaml with multi-collection parameters and validation
Test Environment Configs: Multiple test configuration files for different scenarios

Testing Enhancements

• Update tests to utilize the TestEnvironment class to avoid manual copying of environment files to the functions dir

Breaking Changes

Configuration Format: New multi-collection configuration format replaces single-collection setup
Environment Variables: Updated parameter names and structure for multi-collection support
Function Generation: Dynamic function generation replaces static single-function approach

PR Checklist

- implement comma-separated parameter parsing for multiple collections
- add pipe-separated field mapping and boolean list parsing
- create dynamic collection configuration map with validation
- maintain backward compatibility with single collection parameters
…t suite

• add createTypesenseDocument function with collection-specific config support
• replace separate flattening/non-flattening test files with unified test suite
…d subcollections

• refactor indexOnWrite to dynamically generate functions for multiple collections
• add handleDocumentIndexing function for centralized document processing
• replace old test files with comprehensive multi-collection test suites
• support subcollections with context parameter extraction and handling
… subcollections

• refactor backfill to process multiple collections with dynamic validation
• add backfillCollection function for centralized collection processing
• replace old test files with multi-collection test suites
• support subcollections with context parameter extraction and field filtering
• update logging and error handling for better multi-collection support
• fix test configuration to work with new multi-collection setup
@tharropoulos tharropoulos marked this pull request as draft September 4, 2025 14:35
@tharropoulos
Copy link
Collaborator Author

Implement #121

@tharropoulos tharropoulos marked this pull request as ready for review September 8, 2025 10:34
@elhe26
Copy link

elhe26 commented Nov 5, 2025

Any updates?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants