Skip to content
This repository was archived by the owner on May 21, 2026. It is now read-only.

Commit a1735b4

Browse files
Address review feedback: UUID v7 PK, remove media_type, add start/finish date, time_spent and note fields
Agent-Logs-Url: https://github.com/EspacoGeek-Teams/SpringAPI_EspacoGeek/sessions/f4eedc95-d767-47f2-9b4b-bdd6a2a7ebcc Co-authored-by: AbigailGeovana <142514517+AbigailGeovana@users.noreply.github.com>
1 parent b9d3513 commit a1735b4

2 files changed

Lines changed: 28 additions & 11 deletions

File tree

src/main/java/com/espacogeek/geek/models/UserMediaListModel.java

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
package com.espacogeek.geek.models;
22

33
import java.io.Serializable;
4+
import java.util.Date;
5+
import java.util.UUID;
6+
7+
import org.hibernate.annotations.UuidGenerator;
48

59
import jakarta.persistence.Column;
610
import jakarta.persistence.Entity;
7-
import jakarta.persistence.GeneratedValue;
8-
import jakarta.persistence.GenerationType;
911
import jakarta.persistence.Id;
1012
import jakarta.persistence.JoinColumn;
1113
import jakarta.persistence.ManyToOne;
1214
import jakarta.persistence.Table;
15+
import jakarta.persistence.Temporal;
16+
import jakarta.persistence.TemporalType;
1317
import jakarta.validation.constraints.NotNull;
1418
import lombok.AllArgsConstructor;
1519
import lombok.Getter;
@@ -24,9 +28,9 @@
2428
@NoArgsConstructor
2529
public class UserMediaListModel implements Serializable {
2630
@Id
27-
@GeneratedValue(strategy = GenerationType.IDENTITY)
28-
@Column(name = "id_user_media_list")
29-
private Integer id;
31+
@UuidGenerator(style = UuidGenerator.Style.TIME)
32+
@Column(name = "id_user_media_list", columnDefinition = "BINARY(16)", updatable = false, nullable = false)
33+
private UUID id;
3034

3135
@ManyToOne
3236
@JoinColumn(name = "user_id", nullable = false)
@@ -38,10 +42,6 @@ public class UserMediaListModel implements Serializable {
3842
@NotNull
3943
private MediaModel media;
4044

41-
@Column(name = "media_type", nullable = false, length = 50)
42-
@NotNull
43-
private String mediaType;
44-
4545
@Column(name = "status", length = 50)
4646
private String status;
4747

@@ -50,4 +50,18 @@ public class UserMediaListModel implements Serializable {
5050

5151
@Column(name = "progress")
5252
private Integer progress;
53+
54+
@Column(name = "start_date")
55+
@Temporal(TemporalType.TIMESTAMP)
56+
private Date startDate;
57+
58+
@Column(name = "finish_date")
59+
@Temporal(TemporalType.TIMESTAMP)
60+
private Date finishDate;
61+
62+
@Column(name = "time_spent")
63+
private Integer timeSpent;
64+
65+
@Column(name = "note", length = 2000)
66+
private String note;
5367
}

src/main/resources/db/migration/V20__create_user_media_list_table.sql

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
CREATE TABLE IF NOT EXISTS `user_media_list` (
2-
`id_user_media_list` INT NOT NULL AUTO_INCREMENT,
2+
`id_user_media_list` BINARY(16) NOT NULL,
33
`user_id` INT NOT NULL,
44
`media_id` INT NOT NULL,
5-
`media_type` VARCHAR(50) NOT NULL,
65
`status` VARCHAR(50) DEFAULT NULL,
76
`score` FLOAT DEFAULT NULL,
87
`progress` INT DEFAULT NULL,
8+
`start_date` DATETIME DEFAULT NULL,
9+
`finish_date` DATETIME DEFAULT NULL,
10+
`time_spent` INT DEFAULT NULL,
11+
`note` VARCHAR(2000) DEFAULT NULL,
912
PRIMARY KEY (`id_user_media_list`),
1013
KEY `idx_user_media_list_user` (`user_id`),
1114
KEY `idx_user_media_list_media` (`media_id`),

0 commit comments

Comments
 (0)