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>
1.8 KiB
1.8 KiB
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_schemano 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/adminalteram;- valor por workspace;
- server-side authorization;
gestor/agentapenas 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.