-- ============================================================================
-- AUDIT SCHEMA - ENUMs
-- ============================================================================
-- OrbiQuant IA Trading Platform
-- Schema: audit
-- Propósito: Tipos enumerados para auditoría y logging
-- ============================================================================

-- Tipo de evento de auditoría
CREATE TYPE audit.audit_event_type AS ENUM (
    'create',
    'read',
    'update',
    'delete',
    'login',
    'logout',
    'permission_change',
    'config_change',
    'export',
    'import'
);

-- Severidad del evento
CREATE TYPE audit.event_severity AS ENUM (
    'debug',
    'info',
    'warning',
    'error',
    'critical'
);

-- Categoría del evento de seguridad
CREATE TYPE audit.security_event_category AS ENUM (
    'authentication',
    'authorization',
    'data_access',
    'configuration',
    'suspicious_activity',
    'compliance'
);

-- Estado del evento
CREATE TYPE audit.event_status AS ENUM (
    'success',
    'failure',
    'blocked',
    'pending_review'
);

-- Tipo de recurso auditado
CREATE TYPE audit.resource_type AS ENUM (
    'user',
    'account',
    'transaction',
    'order',
    'position',
    'bot',
    'subscription',
    'payment',
    'course',
    'model',
    'system_config'
);
