Siuss / gamerly-backend

1 stars 0 forks source link

Crear conjunto de dias y horarios #87

Closed alangomez900 closed 4 months ago

alangomez900 commented 4 months ago

El frontend esta formateado en una tabla de días y horarios (ej.: Viernes a la noche, Sábado a la mañana), hay que implementarlo de esa manera en el backend. Ya existen los días y horarios por separado, hay que unirlos en una clase.

COMO desarrollador QUIERO implementar la Clase, Entidad y "refactor"__ PARA establecer relaciones del Usuario, sus días y horarios de juego.

COMO usuario QUIERO establecer y actualizar mis preferencias de días y horarios PARA establecer relaciones del Usuario, sus días y horarios de juego.

    • [ ] Clase días_horarios, dominio.
    • [ ] Servicio y Entidad usuario_días_horarios_preferidos
    • [ ] Refactor de referencia en backend.
Diseño de la BB.DD.

![Image](https://github.com/Siuss/gamerly-backend/assets/30749611/8a532fdd-e453-4f55-8acc-3ea87241aaec)

Propuesta **Clase** tentativa de solución

``` import jakarta.persistence.* import com.gamerly.projectgamerly.domain.Usuario import com.gamerly.projectgamerly.domain.HorariosFavoritos import com.gamerly.projectgamerly.resources.enum.DiaDeLaSemana @Entity @Table(name = "diasHorarios") data class MomentoJuego( @Enumerated(EnumType.STRING) val diaDeLaSemana: DiaDeLaSemana, @Enumerated(EnumType.STRING) val horarioFavorito: HorariosFavoritos @ManyToOne val usuario: Usuario, // Relación con la entidad Usuario ) { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) val id: Long = 0, } ```

Siuss commented 4 months ago

@rodripavon97 tengo una propuesta de Clase, quiero saber si voy bien encaminado. Creo que se queja que no tengo creado el servicio, ¿puede ser? (Sé que lo tengo que crear, pero me sugiero creármelo el IntelliJ).

@alangomez900 ¿Cómo lo ves?

rodripavon97 commented 4 months ago

No será el tema repo para guardar la tabla en el bootstrap?

rodripavon97 commented 4 months ago

Porque si no está guardado en el bootstrap y no apunta un repo no lo crea por lo que tengo entendido

Siuss commented 4 months ago

Buenísimo. Lo reviso. Gracias @rodripavon97

Otro tema: Días y horarios, ¿Es necesario que estén concatenados? Por ahora los planteo como 2 campos distintos de una misma tabla. ¿Está bien?

rodripavon97 commented 4 months ago

Si para mí está bien que estén en la misma tabla, que opinas @alangomez900

Siuss commented 4 months ago

@rodripavon97 @alangomez900 Se actualizó el dominio para 'DíasHorariosPreferidos' y incluyó en el formato 'UsuarioDetalleDTO'.

Por lo que, tener una lista de días por un lado, y por otra una lista de hroarios, no es tan correcto. Con lo que quedan 2 opciones:

Siuss commented 4 months ago

@rodripavon97 @alangomez900 Se actualizó el dominio para 'DíasHorariosPreferidos' y incluyó en el formato 'UsuarioDetalleDTO'.

Por lo que, tener una lista de días por un lado, y por otra una lista de hroarios, no es tan correcto. Con lo que quedan 2 opciones:

  • Que se haga una combinatoria entra ambas listas ( generando datos extras ).
  • Ó, que se maneje una estructura, donde por cada día se traiga la lista de horarios (ejemplo, puede ser un diccionario { "DIA" : [ "HORARIO1", "HORARIO2" ] } ).
  • [ ] Crear conjunto de dias y horarios #87 -> Rama 87

Se avanza por la opción que combina un elemento de cada lista según su igual índice (por lo que ambas lista deben tener el mismo tamañan). -> 5bc6d79208004eec59f55bfbd1e5509d9b9dbbe1

Siuss commented 4 months ago

Se genera PR 92