Histórico da Entidade
Visão Geral
Seção intitulada “Visão Geral”O histórico da entidade regista um instantâneo dos valores da entidade em cada criação, atualização e eliminação. Isso fornece um rasto de auditoria completo com as diferenças.
Ativar o Histórico
Seção intitulada “Ativar o Histórico”Backend
Seção intitulada “Backend”Ative o histórico em initializeRebaseBackend:
await initializeRebaseBackend({ // ... history: true});Ou com configurações de retenção personalizadas:
history: { maxEntries: 200, // Per entity, oldest pruned first (default: 200) ttlDays: 90 // Entries older than this are pruned (default: 90)}Por Coleção
Seção intitulada “Por Coleção”Marque quais coleções devem rastrear o histórico:
const ordersCollection: EntityCollection = { slug: "orders", history: true, // Ativar para esta coleção properties: { /* ... */ }};Como Funciona
Seção intitulada “Como Funciona”- O backend cria uma tabela
rebase.entity_historyautomaticamente - Em cada criação, atualização ou eliminação, um instantâneo é registado com:
- ID da entidade, slug da coleção e nome da tabela
- Os valores completos da entidade (antes e depois)
- Carimbo de data/hora e ID do utilizador
- Tipo de operação (
insert,update,delete)
- Entradas antigas são removidas periodicamente (a cada 6 horas)
Endpoint REST
Seção intitulada “Endpoint REST”GET /api/data/:slug/:entityId/historyRetorna uma lista de entradas de histórico para uma entidade específica, ordenadas pelas mais recentes primeiro:
{ "data": [ { "id": 42, "entity_id": "123", "collection_slug": "orders", "operation": "update", "values": { "status": "shipped", "total": 99.99 }, "previous_values": { "status": "pending", "total": 99.99 }, "user_id": "admin-user-id", "created_at": "2025-01-15T10:30:00Z" } ]}Configuração de Retenção
Seção intitulada “Configuração de Retenção”| Definição | Padrão | Descrição |
|---|---|---|
maxEntries | 200 | Número máximo de entradas por entidade. As mais antigas são removidas. |
ttlDays | 90 | Entradas mais antigas do que este período são eliminadas. |
O backend executa uma varredura global de remoção a cada 6 horas.
Próximos Passos
Seção intitulada “Próximos Passos”- Callbacks da Entidade — Ganchos de ciclo de vida
- Visão Geral do Backend — Configuração completa do backend