Skip to main content

Crear Módulos para Aplicaciones Base

Documentación: Flujo Crear Módulos para Aplicaciones Base

Descripción

La creación de módulos para aplicaciones base del tenant se realiza a través del endpoint de aplicaciones. Los módulos permiten extender la funcionalidad de una aplicación y asociar features específicas.


Pasos para Crear un Módulo

Para crear un módulo en una aplicación base, utiliza la siguiente solicitud POST:

POST https://apolo-app-platcom-platform-bff-api-api.cencosudx.com/applications/{application_id}/modules

Nota: Reemplaza {application_id} con el ID de la aplicación base donde deseas crear el módulo.

Cuerpo de la Solicitud

{
"name": "security_module",
"label": "Modulo Seguridad PE",
"scope_id": "66c666908bd2409eab6f9e26",
"position": 1,
"is_active": true,
"config": {
"assets": {
"val_1": "test_1"
},
"__TYPE__": "DEFAULT"
},
"path": "/security-module/:moduleId",
"icon": "description",
"features": [
{
"label": "Reportes",
"icon": "description",
"position": 1,
"grouped": false,
"assets": {},
"children": [
{
"label": "Usuarios",
"icon": "description",
"position": 1,
"grouped": true,
"path": "/:module_id/users_abm",
"assets": {}
},
{
"label": "Roles/Permisos",
"icon": "description",
"position": 2,
"grouped": true,
"path": "/:module_id/users_agp",
"assets": {}
},
{
"label": "Logging Usuarios",
"icon": "description",
"position": 3,
"grouped": true,
"path": "/:module_id/user_logging_logs",
"assets": {}
},
{
"label": "Logging Roles/Permisos",
"icon": "description",
"position": 4,
"grouped": true,
"path": "/:module_id/user_roles_logs",
"assets": {}
}
]
}
]
}

Campos Detallados

Descripción de los Campos:

CampoTipoDescripción
namestringNombre único e identificador del módulo.
labelstringEtiqueta descriptiva del módulo visible para el usuario.
scope_idstringIdentificador del scope asociado al módulo.
positionnumberPosición ordinal del módulo en la aplicación.
is_activebooleanIndica si el módulo está activo y disponible.
configobjectObjeto de configuración adicional del módulo.
└ assetsobjectValores personalizados para el módulo (clave-valor).
TYPEstringTipo de configuración (por ejemplo, DEFAULT).
pathstringRuta de acceso al módulo en la aplicación.
iconstringNombre del icono representativo del módulo.
featuresobject[]Lista de features (funcionalidades) asociadas al módulo.
└ labelstringNombre descriptivo del feature.
└ iconstringIcono representativo del feature.
└ positionnumberPosición ordinal del feature dentro del módulo.
└ groupedbooleanIndica si el feature está agrupado con otros.
└ assetsobjectValores personalizados del feature.
└ childrenobject[]Subfeatures o funcionalidades anidadas dentro del feature.
  └ labelstringNombre del subfeature.
  └ iconstringIcono del subfeature.
  └ positionnumberPosición ordinal del subfeature.
  └ groupedbooleanIndica si el subfeature está agrupado.
  └ pathstringRuta de acceso al subfeature.
  └ assetsobjectValores personalizados del subfeature.

Proceso

  1. El usuario accede al portal de desarrolladores y navega a la sección de aplicaciones.
  2. Selecciona la aplicación base a la cual desea agregar un módulo.
  3. Obtiene el ID de la aplicación base seleccionada.
  4. Selecciona la opción para crear un nuevo módulo.
  5. Completa el formulario con los datos requeridos (ver tabla de campos).
  6. Configura las features y subfeatures asociadas al módulo.
  7. El sistema valida la información ingresada.
  8. Si la validación es exitosa, se realiza la solicitud POST al endpoint correspondiente.
  9. El sistema recibe la respuesta y notifica al usuario el resultado de la operación.

Pasos principales

  1. Ingresar al portal y autenticarse.
  2. Ir a la sección "Aplicaciones" y seleccionar la aplicación base deseada.
  3. Copiar o anotar el ID de la aplicación base (application_id).
  4. Hacer clic en "Crear nuevo módulo".
  5. Completar los campos obligatorios: name, label, scope_id, position, path e icon.
  6. (Opcional) Configurar propiedades adicionales en el objeto config si corresponde.
  7. Agregar features y estructurar las funcionalidades del módulo.
  8. Definir la jerarquía de children para features anidadas si es necesario.
  9. Enviar el formulario y esperar confirmación.

Consideraciones

  • Los campos name, label, scope_id, position, path e icon son obligatorios.
  • El parámetro application_id en la URL debe ser reemplazado por el ID real de la aplicación base donde se creará el módulo.
  • El name del módulo debe ser único dentro de la aplicación base.
  • La estructura de features permite crear jerarquías mediante el array children.
  • El campo grouped permite agrupar features relacionadas visualmente en la interfaz.
  • Los valores de position determinan el orden de visualización de módulos y features.
  • El campo is_active permite activar o desactivar módulos sin eliminarlos.
  • El sistema puede requerir permisos específicos para crear o modificar módulos.
  • Se recomienda documentar internamente los cambios realizados para futuras referencias.
  • La gestión de módulos (creación, actualización, consulta y eliminación) se realiza siempre a través del endpoint de aplicaciones. Consulta el controlador de aplicaciones para más detalles sobre las operaciones disponibles.