# 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