ValorSentimental / docs /login_seq.md
iagofp's picture
Separacion codigo e documentacion
6a23285
sequenceDiagram
    participant Cliente as Cliente API/Vue
    participant Servicio as Servicio
    participant DAO as UsuarioDao
    participant Singleton as ConexionBD
    participant BD as SQLite

    Cliente->>Servicio: login(username, password)
    Servicio->>DAO: login(username, password)
    DAO->>Singleton: instancia()
    Singleton-->>DAO: ConexionBD unica
    DAO->>Singleton: obtener_conexion()
    Singleton-->>DAO: sqlite3.Connection
    DAO->>BD: SELECT WHERE username
    BD-->>DAO: Row
    DAO->>DAO: check_password_hash()
    alt Contrasena OK
        DAO->>DAO: generar token UUID
        DAO->>BD: UPDATE session_token
        BD-->>DAO: OK
        DAO-->>Servicio: Usuario(id, username, token)
        Servicio-->>Cliente: user Usuario
    else Contrasena incorrecta
        DAO-->>Servicio: None
        Servicio-->>Cliente: error Credenciales invalidas
    end