File.java
package dev.vernite.vernite.cdn;
import java.sql.Blob;
import java.util.Date;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import com.fasterxml.jackson.annotation.JsonIgnore;
@Data
@Entity
public class File {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@Column(nullable = false)
private Date uploaded;
@Column(nullable = false, unique = true)
private String hash;
@Column(nullable = false)
private String contentType;
@Column(nullable = false)
@JsonIgnore
@ToString.Exclude
@EqualsAndHashCode.Exclude
private Blob file;
public String getURL() {
return "/api/cdn/" + hash;
}
}