profileShare

rasmusjy / tasteprint

Read-only snapshot

No repository description.

main default branch 169 files Expires Sep 13, 2026, 9:06 AM
MediaAsset.java 1,174 bytes
1 package com.tasteprint.media;
2
3 import java.time.Instant;
4 import java.util.UUID;
5
6 import jakarta.persistence.Column;
7 import jakarta.persistence.Entity;
8 import jakarta.persistence.Id;
9 import jakarta.persistence.Table;
10
11 @Entity
12 @Table(name = "media_asset")
13 class MediaAsset {
14
15 @Id
16 private UUID id;
17
18 @Column(name = "owner_id", nullable = false)
19 private UUID ownerId;
20
21 @Column(nullable = false, length = 80, unique = true)
22 private String filename;
23
24 @Column(name = "content_type", nullable = false, length = 40)
25 private String contentType;
26
27 @Column(name = "size_bytes", nullable = false)
28 private long size;
29
30 @Column(name = "created_at", nullable = false)
31 private Instant createdAt;
32
33 protected MediaAsset() {
34 }
35
36 MediaAsset(UUID id, UUID ownerId, String filename, String contentType, long size, Instant createdAt) {
37 this.id = id;
38 this.ownerId = ownerId;
39 this.filename = filename;
40 this.contentType = contentType;
41 this.size = size;
42 this.createdAt = createdAt;
43 }
44
45 UUID ownerId() {
46 return ownerId;
47 }
48
49 String filename() {
50 return filename;
51 }
52 }
53