dataflow/ui
Paul Trowbridge d63d70cd52 Import log, constraint key overhaul, and dedup improvements
- Rename dedup_key/dedup_fields → constraint_key/constraint_fields everywhere
  (schema, functions, routes, UI, migration script, docs)
- Change constraint_key from MD5 TEXT hash to readable JSONB object
- Drop unique constraint on (source_name, constraint_key); dedup is now
  enforced at import time via CTE, allowing intra-file duplicate rows
- Add import_id FK (ON DELETE CASCADE) so deleting a log entry removes its records
- Add info JSONB to import_log with inserted_keys and excluded_keys arrays
- Add get_import_log, get_all_import_logs, delete_import SQL functions
- Auto-apply transformations immediately after import
- Import UI: expandable key detail, checkbox selection, delete with confirm,
  import ID column, transform result display
- New Log page: global import log across all sources

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 23:44:30 -04:00
..
src Import log, constraint key overhaul, and dedup improvements 2026-04-13 23:44:30 -04:00
.gitignore Add React UI and backend enhancements for dataflow 2026-03-29 00:35:33 -04:00
eslint.config.js Add React UI and backend enhancements for dataflow 2026-03-29 00:35:33 -04:00
index.html Add React UI and backend enhancements for dataflow 2026-03-29 00:35:33 -04:00
package.json Add React UI and backend enhancements for dataflow 2026-03-29 00:35:33 -04:00
README.md Add React UI and backend enhancements for dataflow 2026-03-29 00:35:33 -04:00
vite.config.js Add React UI and backend enhancements for dataflow 2026-03-29 00:35:33 -04:00

React + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the ESLint configuration

If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and typescript-eslint in your project.