mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-09-27 12:29:41 +02:00
feat: add option to treat all non-attachment fields as metadata in Airtable connector (#3817)
* feat: add option to treat all non-attachment fields as metadata in Airtable connector - Added new UI option 'treat_all_non_attachment_fields_as_metadata' - Updated backend logic to support treating all fields except attachments as metadata - Added tests for both default and all-metadata behaviors Co-Authored-By: Chris Weaver <chris@onyx.app> * fix: handle missing environment variables gracefully in airtable tests Co-Authored-By: Chris Weaver <chris@onyx.app> * fix: clean up test file and handle environment variables properly Co-Authored-By: Chris Weaver <chris@onyx.app> * fix: add missing test fixture and fix formatting Co-Authored-By: Chris Weaver <chris@onyx.app> * chore: fix black formatting Co-Authored-By: Chris Weaver <chris@onyx.app> * fix: add type annotation for metadata dict in airtable tests Co-Authored-By: Chris Weaver <chris@onyx.app> * fix: add type annotation for mock_get_api_key fixture Co-Authored-By: Chris Weaver <chris@onyx.app> * fix: update Generator import to use collections.abc Co-Authored-By: Chris Weaver <chris@onyx.app> * refactor: make treat_all_non_attachment_fields_as_metadata a direct required parameter - Move parameter from connector_config to direct class parameter - Place parameter right under table_name_or_id argument - Make parameter required in UI with no default value - Update tests to use new parameter structure Co-Authored-By: Chris Weaver <chris@onyx.app> * chore: fix black formatting Co-Authored-By: Chris Weaver <chris@onyx.app> * chore: rename _METADATA_FIELD_TYPES to DEFAULT_METADATA_FIELD_TYPES and clarify usage Co-Authored-By: Chris Weaver <chris@onyx.app> * chore: fix black formatting in docstring Co-Authored-By: Chris Weaver <chris@onyx.app> * test: make airtable tests fail loudly on missing env vars Co-Authored-By: Chris Weaver <chris@onyx.app> * style: fix black formatting in test file Co-Authored-By: Chris Weaver <chris@onyx.app> * style: add required newline between test functions Co-Authored-By: Chris Weaver <chris@onyx.app> * test: update error message pattern in parameter validation test Co-Authored-By: Chris Weaver <chris@onyx.app> * style: fix black formatting in test file Co-Authored-By: Chris Weaver <chris@onyx.app> * test: fix error message pattern in parameter validation test Co-Authored-By: Chris Weaver <chris@onyx.app> * style: fix line length in test file Co-Authored-By: Chris Weaver <chris@onyx.app> * test: simplify error message pattern in parameter validation test Co-Authored-By: Chris Weaver <chris@onyx.app> * test: add type validation test for treat_all_non_attachment_fields_as_metadata Co-Authored-By: Chris Weaver <chris@onyx.app> * fix: add missing required parameter in test Co-Authored-By: Chris Weaver <chris@onyx.app> * fix: remove parameter from test to properly validate it is required Co-Authored-By: Chris Weaver <chris@onyx.app> * fix: add type validation for treat_all_non_attachment_fields_as_metadata parameter Co-Authored-By: Chris Weaver <chris@onyx.app> * style: fix black formatting in airtable_connector.py Co-Authored-By: Chris Weaver <chris@onyx.app> * fix: update type validation test to handle mypy errors Co-Authored-By: Chris Weaver <chris@onyx.app> * fix: specify mypy ignore type for call-arg Co-Authored-By: Chris Weaver <chris@onyx.app> * Also handle rows w/o sections * style: fix black formatting in test assertion Co-Authored-By: Chris Weaver <chris@onyx.app> * add TODO * Remove unnecessary check * Fix test * Do not break existing airtable connectors --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Chris Weaver <chris@onyx.app> Co-authored-by: Weves <chrisweaver101@gmail.com>
This commit is contained in:
committed by
GitHub
parent
d2aea63573
commit
d903e5912a
@@ -1106,6 +1106,14 @@ For example, specifying .*-support.* as a "channel" will cause the connector to
|
||||
name: "table_name_or_id",
|
||||
optional: false,
|
||||
},
|
||||
{
|
||||
type: "checkbox",
|
||||
label: "Treat all fields except attachments as metadata",
|
||||
name: "treat_all_non_attachment_fields_as_metadata",
|
||||
description:
|
||||
"Choose this if the primary content to index are attachments and all other columns are metadata for these attachments.",
|
||||
optional: false,
|
||||
},
|
||||
],
|
||||
advanced_values: [],
|
||||
overrideDefaultFreq: 60 * 60 * 24,
|
||||
|
Reference in New Issue
Block a user