# FASE 5: ANALISIS DE DEPENDENCIAS ## Archivos Afectados y sus Relaciones **Version:** 1.0.0 **Fecha:** 2026-01-10 **Ejecutado por:** Agente Orquestador (PERFIL-ORQUESTADOR) **Sistema:** SIMCO v3.8.0 + CAPVED --- ## 1. GRAFO DE DEPENDENCIAS ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ ARCHIVOS A MODIFICAR │ └─────────────────────────────────────────────────────────────────────────┘ DATABASE_INVENTORY.yml ─────────────────────────────────────────────────┐ │ │ │ (sin dependencias) │ │ │ ▼ │ MASTER_INVENTORY.yml ◄─────────── (referencia totales) │ │ │ BACKEND_INVENTORY.yml ──────────────────────────────────────────────────┤ │ │ │ (sin dependencias) │ │ │ ▼ │ MASTER_INVENTORY.yml ◄─────────── (referencia totales) │ │ │ supplier-favorites.entity.ts (NUEVO) ───────────────────────────────────┤ │ │ │ depende de: │ │ └── supplier.entity.ts (ManyToOne) │ │ │ ▼ │ marketplace.module.ts │ │ │ │ importa: │ │ └── supplier-favorites.entity.ts │ │ │ ▼ │ BACKEND_INVENTORY.yml ◄─────────── (lista entidades) │ │ └────────────────────────────────────────────────────────────────────────┘ ``` --- ## 2. ANALISIS POR ARCHIVO ### 2.1 DATABASE_INVENTORY.yml **Ruta:** `orchestration/inventarios/DATABASE_INVENTORY.yml` | Aspecto | Valor | |---------|-------| | Dependencias entrantes | MASTER_INVENTORY.yml (referencia) | | Dependencias salientes | Ninguna | | Archivos que lo importan | Ninguno | | Archivos que importa | Ninguno | **Impacto del cambio:** - Bajo: Solo correccion de documentacion - No afecta codigo ejecutable - Puede requerir actualizacion de MASTER_INVENTORY.yml ### 2.2 BACKEND_INVENTORY.yml **Ruta:** `orchestration/inventarios/BACKEND_INVENTORY.yml` | Aspecto | Valor | |---------|-------| | Dependencias entrantes | MASTER_INVENTORY.yml (referencia) | | Dependencias salientes | Ninguna | | Archivos que lo importan | Ninguno | | Archivos que importa | Ninguno | **Impacto del cambio:** - Bajo: Solo correccion de documentacion - No afecta codigo ejecutable - Puede requerir actualizacion de MASTER_INVENTORY.yml ### 2.3 supplier-favorites.entity.ts (NUEVO) **Ruta:** `apps/backend/src/modules/marketplace/entities/supplier-favorites.entity.ts` | Aspecto | Valor | |---------|-------| | Dependencias entrantes | marketplace.module.ts (import) | | Dependencias salientes | supplier.entity.ts (ManyToOne) | | Archivos que lo importan | marketplace.module.ts | | Archivos que importa | typeorm, supplier.entity.ts | **Impacto del cambio:** - Medio: Agrega nueva entity al sistema - Requiere registro en module - Requiere build verificacion ### 2.4 marketplace.module.ts **Ruta:** `apps/backend/src/modules/marketplace/marketplace.module.ts` | Aspecto | Valor | |---------|-------| | Dependencias entrantes | app.module.ts (import) | | Dependencias salientes | Todas las entities de marketplace | | Estado actual | 5 entities registradas | | Estado requerido | 6 entities (agregar SupplierFavorites) | **Contenido actual:** ```typescript TypeOrmModule.forFeature([ Supplier, SupplierProduct, SupplierOrder, SupplierOrderItem, SupplierReview, // Falta: SupplierFavorites ]), ``` --- ## 3. ORDEN DE MODIFICACION ### Basado en Dependencias ``` 1. DATABASE_INVENTORY.yml (independiente) 2. supplier.entity.ts (ya existe, no modificar) 3. supplier-favorites.entity.ts (depende de #2) 4. marketplace.module.ts (depende de #3) 5. BACKEND_INVENTORY.yml (depende de #3, #4) 6. MASTER_INVENTORY.yml (opcional, depende de #1, #5) ``` ### Orden Optimizado (paralelo donde sea posible) ``` PARALELO 1: ├── DATABASE_INVENTORY.yml ─┐ └── supplier-favorites.entity.ts ─┤ │ SECUENCIAL 2: │ └── marketplace.module.ts ◄────┘ PARALELO 3: ├── BACKEND_INVENTORY.yml └── Verificar build ``` --- ## 4. ARCHIVOS DEPENDIENTES NO MODIFICADOS ### Verificacion de Impacto | Archivo | Dependencia | Impacto | Accion | |---------|-------------|---------|--------| | app.module.ts | marketplace.module.ts | Ninguno | No modificar | | supplier.entity.ts | ninguna | Ninguno | No modificar | | marketplace.service.ts | entities | Potencial | Verificar | | marketplace.controller.ts | service | Ninguno | No modificar | ### marketplace.service.ts Este servicio podria necesitar metodos para manejar favoritos si se desea funcionalidad completa: | Metodo Potencial | Necesario Ahora | |------------------|-----------------| | addFavorite() | NO - entity existe para futuro | | removeFavorite() | NO - entity existe para futuro | | getFavorites() | NO - entity existe para futuro | **Decision:** La entity se crea para completitud con la BD. Los metodos del servicio se agregaran cuando se implemente la funcionalidad. --- ## 5. VERIFICACIONES POST-CAMBIO ### Build Backend ```bash cd apps/backend && npm run build ``` **Posibles errores:** - Import no encontrado: Verificar path de entity - Schema no definido: Verificar decorador @Entity - Relacion no encontrada: Verificar ManyToOne a Supplier ### TypeORM TypeORM con `autoLoadEntities: true` detectara automaticamente la nueva entity si esta en el array forFeature del module. --- ## 6. TABLA RESUMEN DE DEPENDENCIAS | Archivo | Depende De | Es Dependencia De | Nivel | |---------|------------|-------------------|-------| | DATABASE_INVENTORY.yml | - | MASTER_INVENTORY | 0 | | supplier.entity.ts | typeorm | supplier-favorites | 0 | | supplier-favorites.entity.ts | supplier.entity | marketplace.module | 1 | | marketplace.module.ts | entities | app.module | 2 | | BACKEND_INVENTORY.yml | - | MASTER_INVENTORY | 0 | | MASTER_INVENTORY.yml | inventarios | - | 3 | --- ## 7. CONCLUSION ### Complejidad de Dependencias: BAJA - Los inventarios son independientes - La nueva entity tiene una sola dependencia (Supplier) - El module solo requiere agregar un import ### Riesgo de Impacto: BAJO - Cambios de documentacion no afectan runtime - Nueva entity no rompe funcionalidad existente - TypeORM maneja lazy loading de entities --- **Documento generado:** 2026-01-10 **Agente:** Orquestador (PERFIL-ORQUESTADOR) **Sistema:** SIMCO v3.8.0 + CAPVED **Proxima Fase:** F6 - Refinamiento del Plan