Skip to content

Use Cases

Este documento detalla los principales casos de uso implementados en el microservicio op-inventory-gateway, organizados por categorías funcionales.

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:

  1. Extraer la información de país y almacén del contexto de la petición
  2. Validar que se proporcionen país y almacén
  3. Determinar qué sistema backend utilizar según la configuración del almacén
  4. Si el almacén está en la lista de habilitados, enrutar la petición al microservicio Inventory Manager
  5. De lo contrario, enrutar la petición al servicio Bodegao Inventory Item
  6. 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én
  • 500 Internal Server Error: Si ocurre un error inesperado durante el procesamiento

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:

  1. Verificar la salud del microservicio
  2. 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

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:

  1. Recuperar información sobre el microservicio desde package.json
  2. Devolver la información

Reglas de negocio:

  • Ninguna

Adaptadores implicados:

  • Ninguno

Excepciones:

  • Ninguna