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>
This commit is contained in:
camilafagundesandCursor committed 2026-10-02 23:02:00 -03:00
commit 6e23f1533b
144 files changed
+19060

No files matched your search

@@ -0,0 +1,64 @@
# PROMPT 07 — Gestão de modelos e configuração administrativa
Use o MASTER CONTEXT.
## Objetivo
Implementar o ciclo de vida de modelos do workspace e a configuração que permite upload por perfis não administrativos.
## Funcionalidades
### Lista de modelos
- listar somente workspace ativo;
- ordem alfabética;
- nome, data, criador e metadados úteis;
- empty state e loading state;
- seleção do modelo para operação.
### Upload de modelo
- XLSX e CSV apenas;
- drag-and-drop + file picker;
- critérios de upload visíveis em Dialog/ajuda contextual;
- até 10 modelos ativos por workspace;
- impedir nome lógico duplicado;
- validar cabeçalho/estrutura mínima;
- permitir escolha de aba e linha de cabeçalho quando necessário;
- persistir arquivo somente em storage privado aprovado pelo repo;
- persistir metadados/`columns_schema` no PostgreSQL.
### Exclusão
- owner/admin apenas;
- Dialog de confirmação;
- bloquear se houver job ativo usando o modelo;
- auditar;
- respeitar estratégia delete/soft delete já decidida.
### Setting de upload por não-admin
- Switch oficial;
- `owner/admin` alteram;
- valor por workspace;
- server-side authorization;
- `gestor/agent` apenas recebem permissão de upload, não de exclusão/administração.
## Segurança
- storage key não deve ser construída de modo vulnerável a path traversal;
- MIME/extensão/estrutura devem ser checados;
- não confiar em metadata do navegador;
- sem bucket público.
## API/Actions
Implemente no padrão do repo as operações equivalentes a:
- listar;
- criar;
- excluir;
- ler/alterar settings.
## Testes
Cubra 10 modelos, 11º bloqueado, duplicidade, papel não autorizado, setting ligado/desligado, RLS, job ativo e arquivo inválido.
## Entrega
Atualize documentação técnica e descreva o contrato de upload e erros possíveis.