Saltearse al contenido

Categorías de menú

Los menús de categorías son una forma que tiene el sistema de agrupar diferentes menús. Básicamente, se trata de divisiones lógicas que se pueden utilizar para mostrar la información de diferentes maneras.

Definición y finalidad de las categorías de menús dentro del sistema.
Sección titulada «Definición y finalidad de las categorías de menús dentro del sistema.»

Las categorías de menús son una entidad del sistema. Su finalidad es agrupar lógicamente los menús que se mostrarán en la aplicación.

Primero se crea una categoría, luego se añaden o crean los menús que se agruparán y, por último, se asignan los roles que tendrán acceso a la categoría.

Descripción funcional de cómo se utilizan estas categorías.
Sección titulada «Descripción funcional de cómo se utilizan estas categorías.»

Estas categorías se utilizan para mostrar diferentes entidades que podrían estar relacionadas entre sí. Ejemplo: una categoría «Galaxia» podría tener los menús «Planetas» y «Estrellas».

El backend permite crear, leer, actualizar y eliminar menús de categorías. También permite relacionar las categorías con roles y menús.

Lista detallada de los puntos finales utilizados para las operaciones CRUD de las categorías de menús:

POST /api/v1/category-menus:

Cuerpo de la solicitud

{
"roleIds": [1],
"name": "test",
"visible": true
}
  • roleIds: Lista de roles con acceso a la categoría de menú
  • name: nombre de la categoría de menú
  • visible: Visibilidad de la categoría de menú. Las categorías de menú pueden ser "visible": true para ser visibles, o "visible": false para ser ocultas.

Respuestas:

{
"error": false,
"status": 200,
"message": "string",
"errors": [{}],
"data": [
{
"id": "1",
"name": "Category 1",
"visible": true,
"roles": [
{
"id": "1",
"name": "Administrador",
"dashboardCustomQuery": "2"
}
],
"menus": ["string"]
}
],
"pagination": {
"hasPreviousPage": true,
"hasNextPage": true,
"previousPage": 0,
"nextPage": 0,
"recordsTotal": 0,
"currentPage": 0,
"startIndex": 0,
"numPages": 0,
"limit": 0
}
}
GET /api/v1/category-menus:

Respuestas:

{
"error": false,
"status": 200,
"message": "string",
"errors": [{}],
"data": [
{
"id": "1",
"name": "Category 1",
"visible": true,
"roles": [
{
"id": "1",
"name": "Administrador",
"dashboardCustomQuery": "2"
}
],
"menus": ["string"]
}
],
"pagination": {
"hasPreviousPage": true,
"hasNextPage": true,
"previousPage": 0,
"nextPage": 0,
"recordsTotal": 0,
"currentPage": 0,
"startIndex": 0,
"numPages": 0,
"limit": 0
}
}
GET /api/v1/category-menus/paginated:

Parámetros:

NombreTipoDesdeDescripción
limitnumberquerylímite de paginación
Pagenumberquerypágina para traer
namestringquerynombre de la categoría de menú (filtro opcional)

Respuestas:

{
"error": false,
"status": 200,
"message": "string",
"errors": [{}],
"data": [
{
"id": "1",
"name": "Category 1",
"visible": true,
"roles": [
{
"id": "1",
"name": "Administrador",
"dashboardCustomQuery": "2"
}
],
"menus": ["string"]
}
],
"pagination": {
"hasPreviousPage": true,
"hasNextPage": true,
"previousPage": 0,
"nextPage": 0,
"recordsTotal": 0,
"currentPage": 0,
"startIndex": 0,
"numPages": 0,
"limit": 0
}
}
GET /api/v1/category-menus/{id}:

Parámetros:

NombreTipoDesdeDescripción
idstringpathid de la categoría de menú

Respuesta:

{
"error": false,
"status": 200,
"message": "string",
"errors": [{}],
"data": [
{
"id": "1",
"name": "Category 1",
"visible": true,
"roles": [
{
"id": "1",
"name": "Administrador",
"dashboardCustomQuery": "2"
}
],
"menus": ["string"]
}
],
"pagination": {
"hasPreviousPage": true,
"hasNextPage": true,
"previousPage": 0,
"nextPage": 0,
"recordsTotal": 0,
"currentPage": 0,
"startIndex": 0,
"numPages": 0,
"limit": 0
}
}
PUT /api/v1/category-menus/{id}:

Parámetros:

NombreTipoDesdeDescripción
idstringpathid de la categoría de menú

Cuerpo de la petición:

{
"name": "test",
"visible": true
}

Respuesta:

{
"error": false,
"status": 200,
"message": "string",
"errors": [{}],
"data": [
{
"id": "1",
"name": "Category 1",
"visible": true,
"roles": [
{
"id": "1",
"name": "Administrador",
"dashboardCustomQuery": "2"
}
],
"menus": ["string"]
}
],
"pagination": {
"hasPreviousPage": true,
"hasNextPage": true,
"previousPage": 0,
"nextPage": 0,
"recordsTotal": 0,
"currentPage": 0,
"startIndex": 0,
"numPages": 0,
"limit": 0
}
}
DELETE /api/v1/category-menus/{id}:

Parámetros:

NombreTipoDesdeDescripción
idstringpathid de la categoría de menú

Respuesta:

{
"error": false,
"status": 200,
"message": "string",
"errors": [{}],
"data": [
{
"id": "1",
"name": "Category 1",
"visible": true,
"roles": [
{
"id": "1",
"name": "Administrador",
"dashboardCustomQuery": "2"
}
],
"menus": ["string"]
}
],
"pagination": {
"hasPreviousPage": true,
"hasNextPage": true,
"previousPage": 0,
"nextPage": 0,
"recordsTotal": 0,
"currentPage": 0,
"startIndex": 0,
"numPages": 0,
"limit": 0
}
}

¿Con qué otras funciones están integrados?

Sección titulada «¿Con qué otras funciones están integrados?»

Los menús de categorías están relacionados con los menús (que agrupan) y las funciones (que controlan el acceso a la categoría). Los menús se asignan en los puntos finales del menú, mientras que las funciones se gestionan de la siguiente manera:

GET /api/v1/category-menus/roles/{id}:

Parámetros:

NombreTipoDesdeDescripción
idstringpathid de la categoría de menú

Respuesta:

{
"error": false,
"status": 200,
"message": "string",
"errors": [
{}
],
"data": [
{
"id": "1",
"name": "Administrador",
"dashboardCustomQuery": "2"
}
],
"pagination": {
"hasPreviousPage": true,
"hasNextPage": true,
"previousPage": 0,
"nextPage": 0,
"recordsTotal": 0,
"currentPage": 0,
"startIndex": 0,
"numPages": 0,
"limit": 0
}
}
POST /api/v1/category-menus/roles/{id}:

Parámetros:

NombreTipoDesdeDescripción
idstringpathid de la categoría de menú

Cuerpo de la petición:

{
"roleIds": [1]
}
  • roleIds: lista de roles por asignar

Respuesta:

{
"error": false,
"status": 200,
"message": "string",
"errors": [{}],
"data": [
{
"id": "1",
"name": "Administrador",
"dashboardCustomQuery": "2"
}
],
"pagination": {
"hasPreviousPage": true,
"hasNextPage": true,
"previousPage": 0,
"nextPage": 0,
"recordsTotal": 0,
"currentPage": 0,
"startIndex": 0,
"numPages": 0,
"limit": 0
}
}
DELETE /api/v1/category-menus/roles/{id}:

Parámetros:

NombreTipoDesdeDescripción
idstringpathid de la categoría de menú

Cuerpo de la petición:

{
"roleIds": [1]
}
  • roleIds: lista de roles para borrar

Respuesta:

{
"error": false,
"status": 200,
"message": "string",
"errors": [{}],
"data": [
{
"id": "1",
"name": "Administrador",
"dashboardCustomQuery": "2"
}
],
"pagination": {
"hasPreviousPage": true,
"hasNextPage": true,
"previousPage": 0,
"nextPage": 0,
"recordsTotal": 0,
"currentPage": 0,
"startIndex": 0,
"numPages": 0,
"limit": 0
}
}