File size: 899 Bytes
6a23285
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
```mermaid
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
```