ValorSentimental / docs /dao_esquema.md
iagofp's picture
Diagramas
d639ab2
classDiagram
    class Usuario {
        +id str
        +username str
        +token str
    }

    class Pelicula {
        +id str
        +titulo str
        +genero str
    }

    class Emocion {
        +id int
        +user_id str
        +texto_analizado str
        +emocion str
        +valencia str
        +analizado_en str
    }

    class HistorialPelicula {
        +id int
        +user_id str
        +pelicula_id str
        +emocion_id int
        +valoracion float
        +texto_sesion str
        +visto_en str
    }

    class CicloRecomendacion {
        +id int
        +user_id str
        +emocion_pre_id int
        +estrategia int
        +creado_en str
        +pelicula_id str
        +emocion_post_id int
    }

    class EmocionVO {
        +id int
        +emocion str
        +valencia str
        +analizado_en str
        +texto_analizado str
        +desde(e) EmocionVO
    }

    class PeliculaVistaVO {
        +id int
        +user_id str
        +movie_id str
        +titulo str
        +emocion str
        +valoracion float
        +texto_sesion str
        +visto_en str
    }

    class UsuarioDao {
        -bd ConexionBD
        +obtener_conexion() Connection
        +registrar(nombre, contrasena) Usuario
        +login(nombre, contrasena) Usuario
        +obtener_por_id(user_id) Usuario
        +obtener_por_nombre(nombre) Usuario
        +obtener_por_token(token) Usuario
        +actualizar_token(user_id, token) bool
        +cerrar_sesion(token) bool
        +actualizar_contrasena(user_id, contrasena_nueva) bool
        +eliminar(user_id) bool
    }

    class PeliculaDao {
        -bd ConexionBD
        +obtener_conexion() Connection
    }

    class EmocionDao {
        -bd ConexionBD
        +obtener_conexion() Connection
    }

    class HistorialDao {
        -bd ConexionBD
        +obtener_conexion() Connection
    }

    class CicloDao {
        -bd ConexionBD
        +obtener_conexion() Connection
    }

    EmocionVO "1" <-- "1" Emocion : convierte desde
    PeliculaVistaVO "1" --> "1" HistorialPelicula : basado en
    PeliculaVistaVO "1" --> "1" Pelicula : contiene datos de

    UsuarioDao "1" --> "*" Usuario : gestiona CRUD
    PeliculaDao "1" --> "*" Pelicula : gestiona CRUD
    EmocionDao "1" --> "*" Emocion : gestiona CRUD
    HistorialDao "1" --> "*" HistorialPelicula : gestiona CRUD
    CicloDao "1" --> "*" CicloRecomendacion : gestiona CRUD