Use Cases
Este documento detalla los principales casos de uso implementados en el microservicio op-inventory-gateway, organizados por categorías funcionales.
Casos de Uso
Section titled “Casos de Uso”Enrutamiento de Peticiones de Inventario
Section titled “Enrutamiento de Peticiones de Inventario”Descripción: Enruta una petición HTTP relacionada con inventario al microservicio Inventory Manager o al servicio Bodegao Inventory Item según la configuración.
Interfaz de entrada:
interface Request { url: string; method: string; body?: any; headers: { 'X-Justo-Country'?: string; 'X-Justo-Warehouse'?: string; 'x-justo-trace-id'?: string; 'x-justo-request-id'?: string; 'x-request-id'?: string; // Otros headers };}Interfaz de salida:
interface Response { status: number; data: any;}Flujo principal:
- Extraer la información de país y almacén del contexto de la petición
- Validar que se proporcionen país y almacén
- Determinar qué sistema backend utilizar según la configuración del almacén
- Si el almacén está en la lista de habilitados, enrutar la petición al microservicio Inventory Manager
- De lo contrario, enrutar la petición al servicio Bodegao Inventory Item
- Devolver la respuesta del sistema backend al cliente
Reglas de negocio:
- El país y el almacén deben proporcionarse en la petición
- El almacén debe estar en la lista de almacenes habilitados para usar el microservicio Inventory Manager
- De lo contrario, se utiliza el servicio Bodegao Inventory Item
Adaptadores implicados:
- InventoryService
- InventoryItemService
- AsyncJustoContextStorage
Excepciones:
400 Bad Request: Si falta el país o el almacén500 Internal Server Error: Si ocurre un error inesperado durante el procesamiento
Verificación de Salud
Section titled “Verificación de Salud”Descripción: Proporciona información sobre el estado de salud del microservicio.
Interfaz de entrada:
interface Request { url: '/health'; method: 'GET';}Interfaz de salida:
interface Response { status: 'UP' | 'DOWN'; checks: Array<{ name: string; status: 'UP' | 'DOWN'; data?: any; }>;}Flujo principal:
- Verificar la salud del microservicio
- Devolver el estado de salud
Reglas de negocio:
- El microservicio se considera saludable si puede manejar peticiones
Adaptadores implicados:
- Ninguno (utiliza la funcionalidad de verificación de salud incorporada)
Excepciones:
- Ninguna
Información del Servicio
Section titled “Información del Servicio”Descripción: Proporciona información sobre el microservicio.
Interfaz de entrada:
interface Request { url: '/info' | '/'; method: 'GET';}Interfaz de salida:
interface Response { name: string; version: string; description: string; author: string;}Flujo principal:
- Recuperar información sobre el microservicio desde package.json
- Devolver la información
Reglas de negocio:
- Ninguna
Adaptadores implicados:
- Ninguno
Excepciones:
- Ninguna