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.*; ...@@ -5,9 +5,12 @@ import lombok.*;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Positive; import jakarta.validation.constraints.Positive;
import java.util.ArrayList;
import java.util.List;
@Entity @Entity
@Table(name = "capitulos") @Table(name = "capitulos")
@Getter @Getter
@Setter
@NoArgsConstructor @NoArgsConstructor
public class Capitulo { public class Capitulo {
...@@ -23,24 +26,25 @@ public class Capitulo { ...@@ -23,24 +26,25 @@ public class Capitulo {
@Column(nullable = false) @Column(nullable = false)
private String titulo; private String titulo;
@NotBlank @Enumerated(EnumType.STRING)
@Column(nullable = false) @Column(nullable = false)
private String url; private TipoRecurso tipo; // 🔹 Anime o Manga
@NotBlank @ElementCollection
@Column(nullable = false) @CollectionTable(name = "capitulo_fuentes", joinColumns = @JoinColumn(name = "capitulo_id"))
private String fuente; private List<FuenteCapitulo> fuentes = new ArrayList<>(); // 🔥 Lista con nombre y URL
@ManyToOne @ManyToOne
@JoinColumn(name = "recurso_id", nullable = false) @JoinColumn(name = "recurso_id", nullable = false)
private Recurso recurso; private Recurso recurso;
public Capitulo(int numero, String titulo, TipoRecurso tipo, List<FuenteCapitulo> fuentes, Recurso recurso) {
public Capitulo(int numero, String titulo, String url, String fuente, Recurso recurso) {
this.numero = numero; this.numero = numero;
this.titulo = titulo; this.titulo = titulo;
this.url = url; this.tipo = tipo;
this.fuente = fuente; this.fuentes = fuentes;
this.recurso = recurso; 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