Skip to content
GitHub

Patrones de Desarrollo API

Este documento describe los patrones arquitectónicos de la API. Para documentación específica de endpoints, navega a las secciones por dominio en el menú lateral.


El Orchestrator implementa una arquitectura estricta por capas donde cada capa tiene una responsabilidad específica.

flowchart LR
    A[Solicitud HTTP]
    B[authenticateToken]
    C[getDatabaseNameForUser]
    D[getTenantPool]
    E[Lógica de Negocio]
    F[Manejador de Errores]
    G[Respuesta JSON]

    A --> B
    B -->|req.user poblado| C
    C -->|dbName| D
    D -->|pool| E

    E -->|Éxito| G
    E -->|Fallo| F
    F --> G

Sevastopol se integra con el Orchestrator usando un patrón de proxy simple. Todas las rutas API en Sevastopol son proxies delgados que reenvían solicitudes.

sequenceDiagram
    participant I as 🏝️ SolidJS Island
    participant AF as 🔐 authenticatedFetch
    participant API as 📡 API Astro
    participant PX as ↔️ createProxy
    participant O as 🎯 Orchestrator

    I->>AF: fetch('/api/admin/chart-of-accounts')
    AF->>AF: Adjunta cookie sid
    AF->>API: HTTP request

    API->>PX: createProxy()
    PX->>O: Reenviar a :8000

    O-->>PX: JSON (snake_case)
    PX-->>API: Respuesta
    API-->>AF: JSON
    AF-->>I: Datos parseados
CódigoCaso de UsoEjemplo
200GET/PUT exitosoRecurso obtenido o actualizado
201POST exitosoRecurso creado
204DELETE exitosoRecurso eliminado (sin cuerpo)
400Entrada inválidaCampos requeridos faltantes
401No autorizadoSin token o token inválido
403ProhibidoToken válido pero sin permisos
404No encontradoEl recurso no existe
409ConflictoRecurso duplicado
500Error internoError de base de datos