# Documentos e dashboards
> CoreDocument em modo CRUD ou biblioteca, e CoreDashboard com agregações count, sum, groupCount e groupSum executadas no backend.
## CoreDocument
```tsx
import { CoreDocument } from "@oondemand/oon-core-front";
export function PoliticasPage() {
return (
);
}
```
| Prop | Descrição |
|---|---|
| `model`, `label`, `endpoint` | Model e CRUD |
| `display` | `crud` (operacional, padrão legado) ou `library` (descoberta e leitura) |
| `categoryField`, `titleField`, `descriptionField`, `contentField`, `statusField`, `updatedAtField` | Mapeamento de campos para a biblioteca |
| `approval` | Liga ações aprovar/reprovar (`/:id/actions/approve\|reject`) |
| `attachments` | Reservado para gestão de anexos |
| `columns`, `form` | Overrides |
> [!NOTE]
> `CoreDocument` é um cadastro de textos. Upload, aprovação e assinatura exigem contratos próprios do App — para armazenar arquivos, use [files](/docs/backend/arquivos).
## CoreDashboard
```tsx
import { CoreDashboard } from "@oondemand/oon-core-front";
export function PainelPage() {
return (
);
}
```
| `kind` | Resultado |
|---|---|
| `count` | Quantidade de registros |
| `sum` | Soma de `field` |
| `groupCount` | Contagem por `groupBy` |
| `groupSum` | Soma de `field` por `groupBy` |
| `custom` | `render()` próprio |
Filtros usam somente campos declarados e os operadores `eq`, `ne`, `in`, `nin`, `gt`, `gte`, `lt`, `lte` e `exists`. `format`: `number` ou `currency` (padrão `currency` para somas).
As agregações rodam **integralmente no backend**, aplicando `crud.permissions.read` e os helpers de escopo — não dependem do limite ou da paginação das coleções, e uma model com escopo `tenant` nunca conta registros de outro tenant.
### Como view e Home
```tsx
import { defineDashboard } from "@oondemand/oon-core-front";
ui: { views: [defineDashboard({ id: "dashboard", label: "Dashboard", path: "/", section: "Visão Geral", widgets: [/* ... */] })] }
```
Com `path: "/"`, o dashboard se torna a Home da Central.
## Outros componentes de domínio
| Componente | Uso |
|---|---|
| `CoreCurrency` | Cadastro de moedas (`model="Moeda"`, `endpoint="/moedas"`) para Apps com o módulo `currencies` |
| `CoreAssistant` | Assistente (`assistantCode`, `entity`, `endpoint="/assistant-runs"`) para Apps com o módulo `assistants` |
| `CoreUsersAccess` | Página de Usuários e Acessos — veja [Usuários e Acessos](/docs/seguranca/usuarios-e-acessos) |
| `CoreTransactionalEmail` | Painel de e-mail — veja [E-mail transacional](/docs/capabilities/email-transacional) |
Fonte: https://sdk.oonapps.com/docs/frontend/documentos-e-dashboards