# Mapa de Discrepancias Documentacion vs Codigo **Fecha:** 2026-01-10 **Fase:** 3.3 - Analisis de Discrepancias Doc vs Codigo **Estado:** COMPLETADO --- ## Resumen Ejecutivo | Severidad | Cantidad | Modulos Afectados | |-----------|----------|-------------------| | CRITICA | 2 | SAAS-001, SAAS-009 | | MAYOR | 8 | SAAS-001, 003, 004, 006, 007, 008 | | MENOR | 15 | Varios | --- ## Discrepancias CRITICAS ### 1. OAuth/MFA Documentados pero NO Implementados **Modulo:** SAAS-001 Auth | Feature | Estado en Doc | Estado en Codigo | |---------|---------------|------------------| | OAuth Google | Completado | NO EXISTE | | OAuth Microsoft | Completado | NO EXISTE | | OAuth GitHub | Completado | NO EXISTE | | MFA TOTP | Completado | NO EXISTE (solo DDL) | **Evidencia:** - Endpoints `/auth/oauth/*` no existen - Endpoints `/auth/mfa/*` no existen - Tabla `oauth_connections` existe en DDL pero sin uso **Accion:** Mover a seccion "Roadmap" en documentacion ### 2. Feature Flags: Modelo de Estado Desalineado **Modulo:** SAAS-009 Feature Flags | Aspecto | DDL | Entity TypeORM | |---------|-----|----------------| | Campo | `status` | `is_enabled` | | Tipo | ENUM (disabled, enabled, percentage, user_list) | BOOLEAN | **Impacto:** No se pueden usar estados 'percentage' y 'user_list' desde codigo **Accion:** Actualizar entity para usar ENUM --- ## Discrepancias MAYORES ### 3. Endpoints de Users Faltantes (SAAS-003) | Endpoint Documentado | Estado | |---------------------|--------| | POST /users | NO EXISTE | | DELETE /users/:id | NO EXISTE | | POST /invitations/:token/accept | NO EXISTE | ### 4. Rutas de Billing Inconsistentes (SAAS-004) | Documentado | Implementado | |-------------|--------------| | POST /billing/checkout | POST /stripe/checkout-session | | POST /billing/portal | POST /stripe/billing-portal | | GET /billing/plans | GET /plans | | PUT /billing/change-plan | POST /billing/subscription/change-plan/:planId | ### 5. Endpoints de Audit Faltantes (SAAS-008) | Endpoint Documentado | Estado | |---------------------|--------| | GET /audit/export | PENDIENTE | | GET /audit/auth | NO IMPLEMENTADO | | GET /audit/user/:id | NO IMPLEMENTADO | ### 6. Pricing de AI Hardcodeado (SAAS-006) - **Documentado:** Precios dinamicos - **Implementado:** Precios hardcodeados en openrouter.client.ts lineas 214-222 ### 7. Endpoints de Devices No Documentados (SAAS-007) | Implementado | En Documentacion | |--------------|------------------| | POST /notifications/devices | NO | | DELETE /notifications/devices/:id | NO | ### 8. Rate Limiting de AI No Validado (SAAS-006) - **Documentado:** Rate limiting por plan - **Implementado:** Campos en DDL pero sin validacion en codigo --- ## Discrepancias MENORES ### Rutas Menores | # | Documentado | Implementado | |---|-------------|--------------| | 1 | /auth/password/forgot | /auth/password/request-reset | | 2 | /roles/* | /rbac/roles/* | | 3 | /whatsapp/send | /whatsapp/send/{text\|template\|media} | | 4 | /whatsapp/webhook | /webhooks/whatsapp | ### Campos Faltantes en Entidades | Entidad | Campo Documentado | Estado | |---------|-------------------|--------| | Tenant | favicon_url | No existe en DDL | | Subscription | stripe_subscription_id | Usar external_subscription_id | | Subscription | trial_start | Falta | | Invoice | amount_paid | Falta | | Invoice | customer_name | Falta | ### Nomenclatura | Documentado | Implementado | |-------------|--------------| | waba_id | business_account_id | | code (feature flag) | key | --- ## Metricas de Validacion ### Conteos Verificados | Metrica | Doc Anterior | Codigo Real | Estado | |---------|--------------|-------------|--------| | Tablas | 39 | 24 | CORREGIDO | | Enums | 30 | 32 | CORREGIDO | | Tests | 798 | 710 | VERIFICAR | | Hooks Frontend | 76 | 75 | VERIFICAR | --- ## Plan de Correccion ### Fase 6.1: Documentacion (sin cambio de codigo) 1. Mover OAuth/MFA a Roadmap en SAAS-001 2. Actualizar rutas de Billing en SAAS-004 3. Documentar endpoints de devices en SAAS-007 4. Actualizar nomenclatura (waba_id, rutas WhatsApp) ### Fase 6.2: Codigo (cambios requeridos) 1. Alinear entity de Feature Flags con DDL 2. Implementar endpoints faltantes de Audit (3) 3. Implementar endpoints faltantes de Users (3) 4. Centralizar precios de AI --- ## Matriz de Completitud por Modulo | Modulo | Endpoints Doc | Endpoints Impl | % | |--------|---------------|----------------|---| | SAAS-001 Auth | 17 | 8 | 47% | | SAAS-002 Tenants | 6 | 4 | 100%* | | SAAS-003 Users | 13 | ~9 | 69% | | SAAS-004 Billing | 8 | 8 | 100%** | | SAAS-005 Plans | 4 | 4 | 100% | | SAAS-006 AI | 7 | 7 | 100% | | SAAS-007 Notifications | 13 | 13 | 100%*** | | SAAS-008 Audit | 11 | 8 | 72% | | SAAS-009 Feature Flags | 8 | 15 | 188% | | SAAS-010 Webhooks | 10 | 10 | 100% | | SAAS-011 Storage | 8 | 8 | 100% | | SAAS-012 CRUD Base | N/A | N/A | N/A | | SAAS-013 Email | 3 | 3 | 100% | | SAAS-014 WhatsApp | 10 | 10 | 100% | *OAuth/MFA excluidos (Roadmap) **Rutas diferentes pero funcionalidad completa ***2 endpoints extras no documentados --- **Entregable de:** FASE 3.3