Logotipo Hedhog

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

FieldTypeRequiredNotes
slugstringyes
iconstringno
ordernumbernoDefault: 0
is_activebooleannoDefault: true
localeRecord<string, { name: string; description?: string }>yese.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)