Spaces:
Running
Running
| ```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 | |
| ``` |