File size: 2,447 Bytes
d639ab2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
```mermaid
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
```