- Update the lookup config
- Update the submission actions config
- The frontend uses an AirtableService but instead we should have a DataStoreService that calls lookup, update, and insert, etc. and on the backend we send to the appropriate service.
- On the backend, create a ExternalDataStoreConnector interface and create the AirtableService and GoogleSheetsService
- We should use a /lookup, /update, and /insert endpoints that receive a config rather than a service specific (like /airtable-records) endpoint
src/api/
tosrc/api-gen
- Rename the other
airtable_config.py
- Verify the refresh token on every endpoint call and re-auth if necessary
- Fix airtable schema refresh - it keeps returning as unauthorized
Places that need switch statement:
- SingleSelectEditor
- InsertRowActionBlock
- EditRowActionBlock
- OnSubmitCard/EntryDropdown.tsx (how we load the fields from a data store if an Entry was chosen that is an Airtable or GoogleSheets type)
- The /lookup, /update, and /insert endpoints to call the appropriate interface
- ConfigurePage/SettingsCard/index.tsx
- AirtableFieldSelector (no switch, but more cleanly extract the airtableConfig)
- SingleConditionRow
- InterviewRunnerView/InterviewRunnerEntry.tsx
- InterviewRunnerView/index.tsx
Migrations:
- TABLE RENAME:
interview_setting
=>data_store_setting
- Added
type
to the data_store_setting configs - COLUMN RENAME:
settings
=>config
indata_store_setting
table