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:
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.
|
||||
Reference in new issue
Block a user