# ===================================================================
# CONFIGURACIÓN GENERAL DE QUARKUS
# ===================================================================

# Nombre de la aplicación.
quarkus.application.name: rec-evaluate-customer-product
# Versión de la aplicación.
quarkus.application.version: 1.0.0
# Puerto HTTP en el que se ejecutará la aplicación.
quarkus.http.port: 8080
# Tiempo máximo de inactividad antes de que el servidor cierre una conexión HTTP.
quarkus.http.idle-timeout: 30s
# Ruta raíz para los endpoints que no son de la aplicación (ej. /health, /metrics).
quarkus.http.non-application-root-path: /actuator

# ===================================================================
# DOCUMENTACIÓN DE API (OPENAPI & SWAGGER UI)
# ===================================================================

# Habilita la generación de la especificación OpenAPI.
quarkus.smallrye-openapi.enable: true
# Ruta donde se expondrá la especificación OpenAPI (formato JSON/YAML).
quarkus.smallrye-openapi.path: /openapi
# Título que se mostrará en la documentación de la API.
quarkus.smallrye-openapi.info-title: rec-evaluate-customer-product
# Versión que se mostrará en la documentación de la API.
quarkus.smallrye-openapi.info-version: 1.0.0
# Descripción general de la API para la documentación.
quarkus.smallrye-openapi.info-description: API Rec evaluate customer accounts

# Habilita la interfaz de usuario de Swagger.
quarkus.swagger-ui.always-include: true
# Ruta donde estará disponible la interfaz de Swagger UI.
quarkus.swagger-ui.path: /swagger-ui

# ===================================================================
# CONFIGURACIÓN DE CLIENTES REST
# ===================================================================

# --- Cliente para obtener las cuentas de un cliente desde DB2.
quarkus.rest-client.customer-accounts.url: http://bus-evaluate-customer-product-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/customer/position/evaluate
quarkus.rest-client.customer-accounts.scope: jakarta.inject.Singleton

# ===================================================================
# PROPIEDADES ESPECÍFICAS DE LA APLICACIÓN
# ===================================================================

# Identificador único de la aplicación.
app.appId: REC_EVALUATE_CUSTOMER_PRODUCTS

# --- Mapeo centralizado de códigos de respuesta de la aplicación ---
app.response-json: |
  [
        {
           "backend_code": "default",
           "http_code": "409",
           "status_code": "CONFLICT",
           "description": "Conflicto",
           "status": "error"
        },
        {
           "backend_code": "VRN_CONFIG_NOT_FOUND",
           "http_code": "400",
           "status_code": "400",
           "description": "Configuracion no encontrada",
           "status": "error"
        },
            {
           "backend_code": "405",
           "http_code": "405",
           "status_code": "405",
           "description": "Metodo no permitido",
           "status": "error"
        },
        {
           "backend_code": "200",
           "http_code": "200",
           "status_code": "200",
           "description": "Operacion exitosa",
           "status": "ok"
        },
        {
           "backend_code": "204",
           "http_code": "200",
           "status_code": "204",
           "description": "Cliente sin productos",
           "status": "ok"
        },
        {
           "backend_code": "503-URL",
           "http_code": "503",
           "status_code": "503",
           "description": "Incidencia con la resolución de CI",
           "status": "error"
        },
        {
           "backend_code": "500",
           "http_code": "503",
           "status_code": "500",
           "description": "Uso interno",
           "status": "error"
        },
        {
           "backend_code": "406",
           "http_code": "406",
           "status_code": "406",
           "description": "Respuesta no aceptable",
           "status": "error"
        },
        {
    		"backend_code": "VDE01",
    		"http_code": "400",
            "status_code": "VDE01",
    		"description": "Error en dato de entrada obligatorio",
    		"status": "error"
    	},
    	{
    		"backend_code": "VDE02",
    		"http_code": "400",
            "status_code": "VDE02",
    		"description": "Error en valor permitido para campo",
            "status": "error"
    	},
    	{
    		"backend_code": "VDE03",
    		"http_code": "400",
    		"status_code": "VDE03",
    		"description": "Longitud no permitida para campo",
            "status": "error"
    	},
        {
           "backend_code": "VRN01",
           "http_code": "401",
           "status_code": "401",
           "description": "VRN01 - Fallo en la validación del perfil del cliente",
           "status": "error"
        },
        {
           "backend_code": "VRN04",
           "http_code": "503",
           "status_code": "VRN04",
           "description": "Servicio en horario de mantenimiento",
           "status": "error"
        },
        {
           "backend_code": "VRN07",
           "http_code": "401",
           "status_code": "VRN07",
           "description": "VRN07 – Codigo de OTP Invalido",
           "status": "error"
        },
        {
           "backend_code": "409",
           "http_code": "409",
           "status_code": "CONFLICT",
           "description": "Conflicto",
           "status": "error"
        },
        {
           "backend_code": "VRN19",
           "http_code": "401",
           "status_code": "AUTH01",
           "description": "Usuario no existe",
           "status": "error"
        },
        {
           "backend_code": "VRN20",
           "http_code": "401",
           "status_code": "AUTH02",
           "description": "Usuario no existe",
           "status": "error"
        }
    ]