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
- 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>
235 lines
8.6 KiB
Markdown
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
|