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>
42 lines
1.2 KiB
Markdown
42 lines
1.2 KiB
Markdown
# Adaptador de Planilhas
|
|
|
|
Módulo do Elo Pro para validar planilhas XLSX/CSV, mapear colunas para um modelo e gerar um arquivo novo. Não há login, senha ou tabela de usuários própria.
|
|
|
|
## Desenvolvimento local
|
|
|
|
```bash
|
|
npm install
|
|
copy .env.example .env.local
|
|
```
|
|
|
|
No `.env.local`, para o piloto sem o host do Elo Pro:
|
|
|
|
```
|
|
ADAPTER_DEV_AUTH=1
|
|
ADAPTER_DEV_AUTH_SECRET=um-segredo-local
|
|
ADAPTER_JOB_MODE=inline
|
|
```
|
|
|
|
```bash
|
|
npm run dev
|
|
```
|
|
|
|
Abra `/login` e escolha uma identidade de desenvolvimento. Isso não pede senha: apenas assume um vínculo que o seed cria em `profiles` e `workspace_members`.
|
|
|
|
## Produção
|
|
|
|
Obrigatórios: `DATABASE_URL`, `NEXT_PUBLIC_SUPABASE_URL`, `NEXT_PUBLIC_SUPABASE_ANON_KEY`, `SUPABASE_SERVICE_ROLE_KEY`, `SUPABASE_STORAGE_BUCKET`, `REDIS_URL`, `SPREADSHEET_TEMP_TTL_SECONDS`, `ELO_PRO_LOGIN_URL`.
|
|
|
|
A feature flag `spreadsheet_adapter` nasce desligada. Habilite por workspace com `npm run flag -- <workspace_id> on` usando a conexão de serviço, nunca pelo browser.
|
|
|
|
O processamento de produção deve usar `ADAPTER_JOB_MODE=worker` e o processo `npm run worker`. O modo `inline` existe para desenvolvimento.
|
|
|
|
## Verificação
|
|
|
|
```bash
|
|
npm run lint
|
|
npm run typecheck
|
|
npm test
|
|
npm run build
|
|
```
|