48 lines
1.2 KiB
Java

package com.magamochi.content.model.entity;
import com.magamochi.catalog.model.entity.Language;
import com.magamochi.catalog.model.entity.MangaContentProvider;
import com.magamochi.common.model.enumeration.ContentType;
import jakarta.persistence.*;
import java.time.Instant;
import java.util.List;
import lombok.*;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.UpdateTimestamp;
@Entity
@Table(name = "manga_contents")
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
public class MangaContent {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne
@JoinColumn(name = "manga_content_provider_id")
private MangaContentProvider mangaContentProvider;
@Builder.Default private ContentType type = ContentType.CHAPTER;
private String title;
private String url;
@Builder.Default private Boolean downloaded = false;
@CreationTimestamp private Instant createdAt;
@UpdateTimestamp private Instant updatedAt;
@OneToMany(mappedBy = "mangaContent")
private List<MangaContentImage> mangaContentImages;
@ManyToOne
@JoinColumn(name = "language_id")
private Language language;
}