Skip to main content

Módulo Label

src/app/modules/label/

Etiquetas para categorizar contactos o conversaciones.

Modelo — Label

CampoTipoDescripción
_idObjectIdID de MongoDB
tenantIdObjectId → TenantTenant propietario
namestringNombre de la etiqueta
colorstringColor hex (#RRGGBB)
iconstringIcono (emoji o clase CSS)
isActiveboolean
createdAtDate
updatedAtDate

Endpoints

MétodoRutaAuthDescripción
GET/api/v1/labels@Auth()Lista etiquetas (filtrable)
GET/api/v1/labels/:id@Auth()Obtiene una etiqueta
POST/api/v1/labels@Auth()Crea etiqueta
PATCH/api/v1/labels/:id@Auth()Actualiza etiqueta
DELETE/api/v1/labels/:id@Auth()Elimina etiqueta

DTOs

CreateLabelDto

{
tenantId: string
name: string
color: string // '#RRGGBB'
icon?: string
}

FilterLabelDto / QueryLabelDto

Parámetros de filtro y paginación para el GET /labels.

Uso en el Frontend (NgRx)

El estado de labels se gestiona en el store Angular:

  • Acción loadLabels → llama GET /labels
  • Selector selectAllLabels → lista reactiva de labels
  • Acciones CRUD: createLabel, updateLabel, deleteLabel