---
name: dexboard-admin
description: Ferramentas de administração para a API do DEXboard. Use para gerenciar usuários em lote (ativar/inativar), extrair logs de acesso completos e interagir com relatórios, pastas e permissões via Python.
---

# DEXboard Admin

Este skill fornece ferramentas para automatizar tarefas administrativas na plataforma DEXboard utilizando sua API de integração.

## Configuração Necessária

Para utilizar as ferramentas, as seguintes variáveis de ambiente devem estar configuradas (geralmente em um arquivo `.env` na raiz do projeto):

- `DEXBOARD_EMAIL`: E-mail da conta administradora.
- `DEXBOARD_PASSWORD`: Senha da conta.
- `DEXBOARD_API_URL`: URL base da API (ex: `https://api.dexboard.app/api`).

## Principais Funcionalidades

### 1. Extração de Logs de Acesso (`extract_logs_full.py`)

Extrai todos os logs de um período específico, navegando automaticamente por todas as páginas de resultados.

**Exemplo de uso:**
```bash
python scripts/extract_logs_full.py --start 01/01/2026 --end 20/01/2026 --output logs_janeiro.csv
```

- `--start`: Data inicial (dd/mm/yyyy).
- `--end`: Data final (dd/mm/yyyy).
- `--output`: Nome do arquivo CSV de saída (opcional).

### 2. Gestão de Status de Usuários em Lote (`batch_user_status_manager.py`)

Permite ativar ou inativar múltiplos usuários a partir de um arquivo CSV contendo os IDs (UUIDs).

**Exemplo de uso:**
```bash
# Inativar usuários
python scripts/batch_user_status_manager.py --file ids_usuarios.csv --action inactivate
```

- Realiza um "dry run" comparativo antes de aplicar as mudanças.

### 3. Atualização de Usuários em Lote (`batch_user_update.py`)

Atualiza qualquer campo do usuário (nome, email, status, cargo) dinamicamente via CSV.

**Exemplo de uso:**
```bash
python scripts/batch_user_update.py --file atualizacoes.csv
```

- Mapeia automaticamente as colunas do CSV para os parâmetros da API.
- Mostra exatamente o que será alterado (Valor Atual -> Novo Valor) antes de confirmar.

### 4. Cliente API DEXboard (`dexboard_client.py`)

Biblioteca base que encapsula a lógica de autenticação (JWT) e endpoints da API. Pode ser importada em novos scripts:

```python
from scripts.dexboard_client import DexboardClient, DexboardConfig

config = DexboardConfig(email="...", password="...")
client = DexboardClient(config)
client.authenticate()
users = client.list_users()
```

## Recursos do Skill

- **scripts/**: Contém as implementações em Python mencionadas acima.
- **references/**: (Opcional) Pode conter documentação adicional da API.
- **assets/**: (Opcional) Modelos de arquivos CSV para importação.
