# Seed do módulo de Serviços (CLI)

Este documento descreve como popular o banco de dados com dados de exemplo para o módulo de Serviços via script de linha de comando (CLI). O endpoint HTTP de seed foi removido por questões de segurança e governança; utilize exclusivamente o script CLI.

## Pré-requisitos

- Banco de dados acessível e migrado para o tenant desejado.
- Arquivo `.env` configurado, incluindo `DB_*` e `JWT_SECRET`.
- PHP com extensões `pdo_mysql`, `mbstring`, `openssl` habilitadas.

## Comando

Execute no diretório raiz do projeto:

```
php scripts/seed_services.php <tenant>
```

Exemplo para o tenant `default`:

```
php scripts/seed_services.php default
```

## O que é criado

- Clientes e veículos de exemplo.
- Ordens de serviço com descrições e valores.
- Itens de ordens (serviços) e totais calculados.
- Checklists e templates básicos.
- Documentos associados (se aplicável).

## Observações importantes

- O seed é idempotente dentro do mesmo tenant; rodadas subsequentes podem apenas complementar registros.
- Se você utiliza múltiplos tenants, passe o nome correspondente em `<tenant>` e garanta que a sessão/JWT no navegador corresponda ao mesmo tenant para visualizar os dados.
- Avisos de módulos PHP “already loaded” podem ocorrer dependendo da configuração local; eles são inofensivos para a execução do seed.

## Verificação rápida

1. Gere um JWT de admin para o tenant alvo:

```
php scripts/issue_jwt.php admin@local <tenant>
```

2. Liste as ordens via API (substitua `<TOKEN>`):

```
curl -H "Authorization: Bearer <TOKEN>" http://localhost:8000/api/servicos/ordens
```

3. Acesse a UI: `http://localhost:8000/servicos/ordens` (garanta login ativo no mesmo tenant).

## Troubleshooting

- Dados não aparecem na UI:
  - Verifique autenticação (401 redireciona para login).
  - Confirme o tenant do JWT/sessão e do seed.
  - Limpe caches do navegador.
  - Use as APIs diretamente para validar retorno.