Receba novidades do Hedhog no seu e-mail
Novos lançamentos, receitas e breaking changes — sem spam.
Submódulo cms
component-categories
Catálogo de categorias usadas para agrupar componentes no seletor de componentes (por exemplo, "Hero", "Content", "Media").
Caminho de origem: libraries/cms/src/cms-component-category.controller.ts, cms-component-category.service.ts
Arquivo do módulo: cms.module.ts
Introdução
O submódulo Component Categories gerencia `cms_component_category`, o pequeno catálogo de agrupamento para o qual todo `cms_component` aponta via `category_id`. Cada entrada tem um `slug`, um `icon` opcional (uma string livre, presumivelmente um identificador de ícone renderizado pelo seletor de componentes administrativo), uma `order`, um flag `is_active` e um nome/descrição traduzidos por locale em `cms_component_category_locale`. Este é o submódulo mais raso do pacote: ele existe puramente para organizar o catálogo de componentes para os editores que o navegam, e não carrega nenhuma lógica de negócio adicional além do padrão de upsert de locale na criação/atualização compartilhado por Layouts e Components.
`cms_component.category_id` referencia esta tabela com `onDelete: RESTRICT`, de modo que — exatamente como nos Layouts — `CmsComponentCategoryService.delete()` não faz nenhuma verificação prévia própria; excluir uma categoria que ainda tem componentes atribuídos a ela falha como um erro bruto de restrição de foreign key, e não como uma exceção descritiva da aplicação. `GET /cms/component-categories` também é uma listagem completa e não paginada, sempre ordenada por `order`.
Todos os endpoints de escrita são restritos a `admin`/`admin-cms`, em consonância com Layouts e Components: apenas administradores curam a estrutura do catálogo, enquanto `cms-editor` e `cms-publisher` têm visibilidade somente leitura sobre ele.
Endpoints HTTP
5 endpoints
Listagem completa de categorias de componente (não paginada), ordenada por order, localizada para o locale da requisição.
Cria uma nova categoria de componente e suas linhas de nome/descrição por locale.
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | — |
| icon | string | no | — |
| order | number | no | Default: 0 |
| is_active | boolean | no | Default: true |
| locale | Record<string, { name: string; description?: string }> | yes | e.g. { "en": { "name": "...", "description": "..." } } — upserts one locale row per key |
Obtém uma única categoria de componente, localizada para o locale da requisição.
- Params
- id (int)
Atualiza uma categoria de componente (mesmos campos da criação, todos opcionais).
- Params
- id (int)
Exclui fisicamente uma categoria de componente. Não protegido no nível do serviço — falha com um erro de foreign key do banco de dados se algum componente ainda a referenciar (cms_component.category_id é RESTRICT).
- Params
- id (int)