feat: config-driven table indexing for 0.2.0 #3

Merged
KofTwentyTwo merged 1 commits from feature/config-driven-indexing into develop 2026-03-30 11:27:21 +00:00
KofTwentyTwo commented 2026-03-30 10:36:08 +00:00 (Migrated from github.com)

Summary

  • Add SearchableFieldConfig and SearchableTableConfig classes that let host apps declare searchable tables via configuration objects instead of requiring @QSearchable* annotations on entity classes.
  • Both annotation-based and config-based table declarations merge during produce(), with within-source duplicate detection and clear validation errors.
  • Includes record label override support, null-safe field formatting, and updated indexing steps (BasepullIndexStep, FullReindexStep, IndexingUtils, SynchronousIndexEventPublisher).

Test plan

  • SearchableFieldConfigTest -- unit tests for field config builder, defaults, and edge cases
  • SearchableTableConfigTest -- unit tests for table config builder and validation
  • ConfigDrivenIndexingIntegrationTest -- integration test exercising full produce/index flow via config
  • Updated QuickSearchQBitConfigTest, QuickSearchQBitProducerTest, QuickSearchableTableConfigTest, IndexingUtilsTest, SynchronousIndexEventPublisherTest
## Summary - Add `SearchableFieldConfig` and `SearchableTableConfig` classes that let host apps declare searchable tables via configuration objects instead of requiring `@QSearchable*` annotations on entity classes. - Both annotation-based and config-based table declarations merge during `produce()`, with within-source duplicate detection and clear validation errors. - Includes record label override support, null-safe field formatting, and updated indexing steps (`BasepullIndexStep`, `FullReindexStep`, `IndexingUtils`, `SynchronousIndexEventPublisher`). ## Test plan - [x] `SearchableFieldConfigTest` -- unit tests for field config builder, defaults, and edge cases - [x] `SearchableTableConfigTest` -- unit tests for table config builder and validation - [x] `ConfigDrivenIndexingIntegrationTest` -- integration test exercising full produce/index flow via config - [x] Updated `QuickSearchQBitConfigTest`, `QuickSearchQBitProducerTest`, `QuickSearchableTableConfigTest`, `IndexingUtilsTest`, `SynchronousIndexEventPublisherTest`
Sign in to join this conversation.