Commit d7cf9d2d by Rubén Ramírez

feat: [Capitulo]: Modificada la clase Capítulo con nuevas clases asociadas…

feat: [Capitulo]: Modificada la clase Capítulo con nuevas clases asociadas también creadas con sus respectivos DTOs
parent 681bdbc7
......@@ -5,9 +5,12 @@ import lombok.*;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Positive;
import java.util.ArrayList;
import java.util.List;
@Entity
@Table(name = "capitulos")
@Getter
@Setter
@NoArgsConstructor
public class Capitulo {
......@@ -23,24 +26,25 @@ public class Capitulo {
@Column(nullable = false)
private String titulo;
@NotBlank
@Enumerated(EnumType.STRING)
@Column(nullable = false)
private String url;
private TipoRecurso tipo; // 🔹 Anime o Manga
@NotBlank
@Column(nullable = false)
private String fuente;
@ElementCollection
@CollectionTable(name = "capitulo_fuentes", joinColumns = @JoinColumn(name = "capitulo_id"))
private List<FuenteCapitulo> fuentes = new ArrayList<>(); // 🔥 Lista con nombre y URL
@ManyToOne
@JoinColumn(name = "recurso_id", nullable = false)
private Recurso recurso;
public Capitulo(int numero, String titulo, String url, String fuente, Recurso recurso) {
public Capitulo(int numero, String titulo, TipoRecurso tipo, List<FuenteCapitulo> fuentes, Recurso recurso) {
this.numero = numero;
this.titulo = titulo;
this.url = url;
this.fuente = fuente;
this.tipo = tipo;
this.fuentes = fuentes;
this.recurso = recurso;
}
}
package com.ujaen.tfg.mangaffinity.entidades;
import jakarta.persistence.Embeddable;
import jakarta.validation.constraints.NotBlank;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.Getter;
@Embeddable
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class FuenteCapitulo {
@NotBlank
private String nombreFuente;
@NotBlank
private String urlFuente;
}
package com.ujaen.tfg.mangaffinity.entidades;
public enum TipoRecurso {
ANIME, MANGA
}
package com.ujaen.tfg.mangaffinity.rest.DTO;
import com.ujaen.tfg.mangaffinity.entidades.TipoRecurso;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class DTOCapitulo {
private Long id;
private int numero;
private String titulo;
private TipoRecurso tipo; // 🔹 Indica si es Anime o Manga
private List<DTOFuenteCapitulo> fuentes; // 🔥 Lista de fuentes con nombre y URL
}
\ No newline at end of file
package com.ujaen.tfg.mangaffinity.rest.DTO;
import lombok.*;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class DTOFuenteCapitulo {
private String nombreFuente;
private String urlFuente;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment