<?php

return [
    /*
    |--------------------------------------------------------------------------
    | Backoffice Configuration
    |--------------------------------------------------------------------------
    |
    | Configuración del backoffice administrativo del sistema.
    | Este archivo contiene todas las configuraciones específicas para
    | el panel de administración.
    |
    */

    /*
    |--------------------------------------------------------------------------
    | IPs Autorizadas
    |--------------------------------------------------------------------------
    |
    | Lista de direcciones IP autorizadas para acceder al backoffice.
    | Solo estas IPs podrán acceder al panel administrativo.
    | Puedes agregar rangos de IP usando CIDR notation.
    |
    | Las IPs adicionales se pueden configurar en el .env usando:
    | BACKOFFICE_AUTHORIZED_IPS="192.168.1.100,203.0.113.50,10.0.0.0/24"
    |
    */
    'authorized_ips' => array_filter(array_merge([
        '127.0.0.1',        // localhost
        '::1',              // localhost IPv6
    ], 
    // IPs adicionales desde .env (separadas por comas)
    env('BACKOFFICE_AUTHORIZED_IPS') ? 
        array_map('trim', explode(',', env('BACKOFFICE_AUTHORIZED_IPS'))) : 
        []
    )),

    /*
    |--------------------------------------------------------------------------
    | Configuración de Sesión
    |--------------------------------------------------------------------------
    |
    | Configuración específica para las sesiones del backoffice.
    |
    */
    'session' => [
        'lifetime' => 120,          // 2 horas en minutos (por seguridad)
        'cookie_name' => 'backoffice_session',
        'secure' => env('APP_ENV') === 'production',
        'same_site' => 'strict',
    ],

    /*
    |--------------------------------------------------------------------------
    | Configuración de Usuario Admin
    |--------------------------------------------------------------------------
    |
    | Credenciales por defecto del administrador del backoffice.
    | IMPORTANTE: Cambiar estas credenciales en producción.
    |
    */
    'admin' => [
        'username' => env('BACKOFFICE_ADMIN_USERNAME', 'admin'),
        'password' => env('BACKOFFICE_ADMIN_PASSWORD', 'admin123'), // Cambiar en .env
        'max_login_attempts' => 3,
        'lockout_duration' => 300, // 5 minutos en segundos
    ],

    /*
    |--------------------------------------------------------------------------
    | Configuración de Seguridad
    |--------------------------------------------------------------------------
    |
    | Configuraciones adicionales de seguridad para el backoffice.
    |
    */
    'security' => [
        'enable_ip_whitelist' => false, // Deshabilitado para permitir acceso desde cualquier IP
        'enable_session_timeout' => true,
        'enable_csrf_protection' => true,
        'log_access_attempts' => true,
        'require_https' => env('APP_ENV') === 'production',
    ],

    /*
    |--------------------------------------------------------------------------
    | Configuración de Logs
    |--------------------------------------------------------------------------
    |
    | Configuración específica para el sistema de logs del backoffice.
    |
    */
    'logging' => [
        'channel' => 'backoffice',
        'enabled' => true,
        'log_level' => env('LOG_LEVEL', 'debug'),
        'retention_days' => 30,
        'log_actions' => [
            'login' => true,
            'logout' => true,
            'crud_operations' => true,
            'ip_access' => true,
            'session_events' => true,
            'plan_changes' => true,
            'payment_events' => true,
        ],
    ],

    /*
    |--------------------------------------------------------------------------
    | Configuración de URLs
    |--------------------------------------------------------------------------
    |
    | URLs y rutas del backoffice.
    |
    */
    'urls' => [
        'prefix' => '',
        'login_path' => '/login',
        'dashboard_path' => '/dashboard',
        'logout_path' => '/logout',
    ],

    /*
    |--------------------------------------------------------------------------
    | Configuración de Planes por Defecto
    |--------------------------------------------------------------------------
    |
    | Planes predefinidos del sistema.
    |
    */
    'default_plans' => [
        [
            'name' => 'LITE',
            'code' => 'LITE',
            'description' => 'Plan básico con funcionalidades esenciales para pequeños negocios',
            'price' => 2500.00,
            'duration_months' => 1,
            'features' => [
                'Facturación básica',
                'Gestión de productos',
                'Gestión de clientes',
                'Reportes básicos'
            ],
            'modules' => [
                'billing' => true,
                'products' => true,
                'clients' => true,
                'reports_basic' => true,
            ],
            'is_active' => true,
        ],
        [
            'name' => 'PRO',
            'code' => 'PRO',
            'description' => 'Plan profesional con funcionalidades completas para empresas',
            'price' => 4500.00,
            'duration_months' => 1,
            'features' => [
                'Facturación completa',
                'Integración AFIP',
                'Reportes avanzados',
                'Múltiples usuarios',
                'Soporte prioritario'
            ],
            'modules' => [
                'billing' => true,
                'products' => true,
                'clients' => true,
                'reports_basic' => true,
                'reports_advanced' => true,
                'afip_integration' => true,
                'multi_users' => true,
                'priority_support' => true,
            ],
            'is_active' => true,
        ],
    ],
];