Creado

Elvis Bonilla

Revisado

Juan Robles

Corregido

Juan Robles

Step Function states-dev-buyer

Descripción

Este flujo representa los distintos estados en los que puede estar un buyer (comprador) dentro del sistema, desde su creación hasta su activación, inactivación o eliminación.

  1. Inicio en Created: Un comprador recién creado inicia en este estado.

  2. Evaluación de documentación y riesgo: Si se requiere, el comprador pasa por revisión documental (PendingCreditDocumentation) y evaluación de riesgo (PendingRisk).

  3. Línea de crédito: Si supera la evaluación de riesgo, puede pasar a la asignación de línea de crédito (PendingCreditLine).

  4. Activación: Un comprador que ha superado todas las verificaciones pasa a Active, donde puede operar normalmente.

  5. Inactivación y eliminación: Dependiendo de su comportamiento (créditos vencidos, bloqueos, etc.), puede pasar a Inactive o ser eliminado (Deleted).

Diagrama de estados

mermaid-diagram-2025-03-20-140646.png

Fragmento de código

stateDiagram-v2
    [*] --> Created

    Created --> PendingCreditDocumentation : "password"
    Created --> Inactive : "end-contract"
    Created --> Deleted : "buyer-deleted"
    Created --> Active : "abl-active"
    Created --> Inactive : "overdue-loan"

    PendingCreditDocumentation --> PendingRisk : "send-credit-portfolio"
    PendingCreditDocumentation --> Inactive : "end-credit-portfolio"
    PendingCreditDocumentation --> Inactive : "end-contract"
    PendingCreditDocumentation --> Inactive : "overdue-loan"
    PendingCreditDocumentation --> Deleted : "buyer-deleted"

    PendingRisk --> PendingCreditLine : "set-risk"
    PendingRisk --> Inactive : "end-contract"
    PendingRisk --> Inactive : "overdue-loan"
    PendingRisk --> Deleted : "buyer-deleted"

    PendingCreditLine --> Active : "set-credit-line"
    PendingCreditLine --> Inactive : "end-contract"
    PendingCreditLine --> Inactive : "overdue-loan"
    PendingCreditLine --> Deleted : "buyer-deleted"

    Active --> Inactive : "overdue-loan"
    Active --> Inactive : "end-contract"
    Active --> Inactive : "end-credit-portfolio"
    Active --> Inactive : "buyer-block"

    Inactive --> Active : "buyer-unblock"
    Inactive --> Deleted : "buyer-deleted"

    Deleted --> [*]