- Configure workspace Git repository with comprehensive .gitignore - Add Odoo as submodule for ERP reference code - Include documentation: SETUP.md, GIT-STRUCTURE.md - Add gitignore templates for projects (backend, frontend, database) - Structure supports independent repos per project/subproject level Workspace includes: - core/ - Reusable patterns, modules, orchestration system - projects/ - Active projects (erp-suite, gamilit, trading-platform, etc.) - knowledge-base/ - Reference code and patterns (includes Odoo submodule) - devtools/ - Development tools and templates - customers/ - Client implementations template 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
105 lines
3.6 KiB
PL/PgSQL
105 lines
3.6 KiB
PL/PgSQL
-- ============================================================================
|
|
-- MIGRATION: DB-131
|
|
-- Descripción: Corregir vista admin_dashboard.recent_activity
|
|
-- Fecha: 2025-11-24
|
|
-- Autor: Database-Agent
|
|
-- Contexto: CORR-005 - Vista referenciaba tabla inexistente
|
|
--
|
|
-- Problema: Vista referenciaba audit_logging.activity_log (NO EXISTE)
|
|
-- Solución: Referenciar audit_logging.user_activity_logs (tabla correcta)
|
|
--
|
|
-- Referencia: orchestration/agentes/architecture-analyst/plan-correcciones-persistencia-2025-11-24/PLAN-IMPLEMENTACION-CORRECCIONES-P0.md
|
|
-- ============================================================================
|
|
|
|
BEGIN;
|
|
|
|
-- ================================================================
|
|
-- 1. DROP VISTA EXISTENTE
|
|
-- ================================================================
|
|
|
|
DROP VIEW IF EXISTS admin_dashboard.recent_activity CASCADE;
|
|
|
|
-- ================================================================
|
|
-- 2. RECREAR VISTA CON TABLA CORRECTA
|
|
-- ================================================================
|
|
|
|
CREATE VIEW admin_dashboard.recent_activity AS
|
|
SELECT
|
|
ual.id,
|
|
ual.user_id,
|
|
p.full_name AS user_name,
|
|
p.avatar_url AS user_avatar,
|
|
u.email,
|
|
ual.activity_type AS action_type,
|
|
ual.action_detail AS action_description,
|
|
ual.created_at AS timestamp,
|
|
ual.ip_address,
|
|
ual.user_agent,
|
|
ual.metadata AS details
|
|
FROM audit_logging.user_activity_logs ual
|
|
LEFT JOIN auth_management.profiles p ON ual.user_id = p.id
|
|
LEFT JOIN auth.users u ON p.user_id = u.id
|
|
WHERE ual.created_at > NOW() - INTERVAL '30 days'
|
|
ORDER BY ual.created_at DESC
|
|
LIMIT 100;
|
|
|
|
-- ================================================================
|
|
-- 3. DOCUMENTACIÓN
|
|
-- ================================================================
|
|
|
|
COMMENT ON VIEW admin_dashboard.recent_activity IS
|
|
'Vista de actividad reciente del sistema (últimos 30 días, máximo 100 registros).
|
|
FIXED 2025-11-24 (DB-131): Ahora referencia correctamente audit_logging.user_activity_logs.
|
|
Usado por endpoint GET /api/admin/actions/recent en Portal Admin.
|
|
|
|
Cambios aplicados:
|
|
- Tabla origen: audit_logging.activity_log → audit_logging.user_activity_logs
|
|
- Agregado filtro de 30 días
|
|
- Agregado user_avatar para mostrar en UI
|
|
- Renombrados campos para consistencia con backend DTOs
|
|
';
|
|
|
|
-- ================================================================
|
|
-- 4. PERMISOS
|
|
-- ================================================================
|
|
|
|
GRANT SELECT ON admin_dashboard.recent_activity TO gamilit_app_role;
|
|
|
|
-- ================================================================
|
|
-- 5. VALIDACIÓN
|
|
-- ================================================================
|
|
|
|
-- Verificar que la vista se creó correctamente
|
|
DO $$
|
|
BEGIN
|
|
IF NOT EXISTS (
|
|
SELECT 1
|
|
FROM information_schema.views
|
|
WHERE table_schema = 'admin_dashboard'
|
|
AND table_name = 'recent_activity'
|
|
) THEN
|
|
RAISE EXCEPTION 'Vista admin_dashboard.recent_activity NO fue creada';
|
|
END IF;
|
|
|
|
RAISE NOTICE '✅ Vista admin_dashboard.recent_activity creada exitosamente';
|
|
END $$;
|
|
|
|
COMMIT;
|
|
|
|
-- ================================================================
|
|
-- NOTAS DE IMPLEMENTACIÓN
|
|
-- ================================================================
|
|
|
|
-- Este migration corrige el bug reportado en:
|
|
-- - BUG-ADMIN-004: Vista admin_dashboard.recent_activity referencia tabla inexistente
|
|
--
|
|
-- Impacto:
|
|
-- - Portal Admin sección "Acciones Recientes" funcionará correctamente
|
|
-- - Endpoint GET /api/admin/actions/recent retornará datos reales
|
|
--
|
|
-- Testing:
|
|
-- SELECT * FROM admin_dashboard.recent_activity LIMIT 5;
|
|
--
|
|
-- Rollback (si necesario):
|
|
-- DROP VIEW IF EXISTS admin_dashboard.recent_activity CASCADE;
|