Template: Serviço¶
Objetivo¶
Padronizar a documentação de uma função ou classe de services.py — a camada real onde regra de negócio reutilizável vive (ver ADR-0002, Backend Standard).
Estrutura¶
# Serviço: `<nome_da_funcao_ou_classe>`
**Local:** `apps/<modulo>/services.py`
**Chamado por:** views/services que o invocam
## Responsabilidade
O que a função faz, em 1-2 frases — uma responsabilidade só.
## Entrada
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| ... | ... | ... | ... |
## Saída
Tipo de retorno e o que ele representa.
## Efeitos colaterais
- Grava no banco? Dispara e-mail? Gera log de auditoria? Enfileira uma task Celery?
## Erros
| Exceção | Quando ocorre |
|---|---|
| ... | ... |
## Transações
Usa `transaction.atomic()`? Em que operações.
Regra de preenchimento¶
Ler a implementação real da função — assinatura, exceções levantadas e efeitos colaterais exatamente como estão no código, não como "deveriam" funcionar.