michangarrito/orchestration/_archive/analisis/F5-DEPENDENCIAS-INTEGRIDAD-2026-01-10.md
Adrian Flores Cortes 2fb9f3f6b5
Some checks are pending
CI/CD Pipeline / Backend CI (push) Waiting to run
CI/CD Pipeline / Frontend CI (push) Waiting to run
CI/CD Pipeline / WhatsApp Service CI (push) Waiting to run
CI/CD Pipeline / Mobile CI (push) Waiting to run
CI/CD Pipeline / Docker Build (./apps/backend, ./apps/backend/Dockerfile, backend) (push) Blocked by required conditions
CI/CD Pipeline / Docker Build (./apps/frontend, ./apps/frontend/Dockerfile, frontend) (push) Blocked by required conditions
CI/CD Pipeline / Docker Build (./apps/whatsapp-service, ./apps/whatsapp-service/Dockerfile, whatsapp-service) (push) Blocked by required conditions
CI/CD Pipeline / Deploy to Production (push) Blocked by required conditions
[ESTANDAR-ORCHESTRATION] refactor: Consolidate to standard structure
- Move 7 non-standard folders to _archive/
- Archive 3 extra root files
- Update _MAP.md with standardized structure

Standard: SIMCO-ESTANDAR-ORCHESTRATION v1.0.0
Level: CONSUMER (L2)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 14:38:04 -06:00

235 lines
8.6 KiB
Markdown

# 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