Files
camilafagundesandCursor 6e23f1533b Implementa o MVP do Adaptador de Planilhas no Elo Pro.
O módulo usa a identidade Supabase, isola cada workspace e registra storage, TTL, runner e biblioteca XLSX como decisões ainda abertas.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-02 23:02:00 -03:00

1.3 KiB

Modelo de dados

erDiagram
  workspaces ||--o| spreadsheet_adapter_settings : configura
  workspaces ||--o{ spreadsheet_models : possui
  workspaces ||--o{ spreadsheet_jobs : isola
  profiles ||--o{ spreadsheet_jobs : executa
  spreadsheet_models ||--o{ spreadsheet_jobs : orienta
  spreadsheet_jobs ||--o{ spreadsheet_job_sources : contem
  spreadsheet_job_sources ||--o{ spreadsheet_job_mappings : mapeia
  workspaces ||--o{ audit_log : audita

Migrations: 0001_platform_shim.sql, 0002_spreadsheet_adapter.sql, 0003_rls.sql. Rollback do módulo: migrations/down/0002_spreadsheet_adapter_down.sql. Não remove tabelas de identidade do Elo Pro.

Integridade

  • Nome lógico único entre modelos active por workspace
  • No máximo 10 modelos ativos e 10 fontes por job, também por trigger
  • Mapeamento único nos dois sentidos (source_column e model_column)
  • Job não referencia modelo de outro workspace
  • Conteúdo da planilha fica no storage, não em JSONB de linhas
  • status = deleted e deleted_at deixam a exclusão física reversível até a decisão de produto

Colunas extras em fontes (output_csv_key, output_xlsx_key, columns_schema, process_idempotency_key) guardam metadados da saída temporária. O PDF é gerado na hora do download a partir do CSV privado.