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

Commit b9d3513

Browse files
Create UserMediaList entity, migration V20, and repository
Agent-Logs-Url: https://github.com/EspacoGeek-Teams/SpringAPI_EspacoGeek/sessions/89ca0c56-ce40-4c65-acba-470f45c07fc0 Co-authored-by: AbigailGeovana <142514517+AbigailGeovana@users.noreply.github.com>
1 parent eff5550 commit b9d3513

3 files changed

Lines changed: 76 additions & 0 deletions

File tree

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package com.espacogeek.geek.models;
2+
3+
import java.io.Serializable;
4+
5+
import jakarta.persistence.Column;
6+
import jakarta.persistence.Entity;
7+
import jakarta.persistence.GeneratedValue;
8+
import jakarta.persistence.GenerationType;
9+
import jakarta.persistence.Id;
10+
import jakarta.persistence.JoinColumn;
11+
import jakarta.persistence.ManyToOne;
12+
import jakarta.persistence.Table;
13+
import jakarta.validation.constraints.NotNull;
14+
import lombok.AllArgsConstructor;
15+
import lombok.Getter;
16+
import lombok.NoArgsConstructor;
17+
import lombok.Setter;
18+
19+
@Entity
20+
@Table(name = "user_media_list")
21+
@Getter
22+
@Setter
23+
@AllArgsConstructor
24+
@NoArgsConstructor
25+
public class UserMediaListModel implements Serializable {
26+
@Id
27+
@GeneratedValue(strategy = GenerationType.IDENTITY)
28+
@Column(name = "id_user_media_list")
29+
private Integer id;
30+
31+
@ManyToOne
32+
@JoinColumn(name = "user_id", nullable = false)
33+
@NotNull
34+
private UserModel user;
35+
36+
@ManyToOne
37+
@JoinColumn(name = "media_id", nullable = false)
38+
@NotNull
39+
private MediaModel media;
40+
41+
@Column(name = "media_type", nullable = false, length = 50)
42+
@NotNull
43+
private String mediaType;
44+
45+
@Column(name = "status", length = 50)
46+
private String status;
47+
48+
@Column(name = "score")
49+
private Float score;
50+
51+
@Column(name = "progress")
52+
private Integer progress;
53+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.espacogeek.geek.repositories;
2+
3+
import org.springframework.data.jpa.repository.JpaRepository;
4+
5+
import com.espacogeek.geek.models.UserMediaListModel;
6+
7+
public interface UserMediaListRepository extends JpaRepository<UserMediaListModel, Integer> {
8+
9+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
CREATE TABLE IF NOT EXISTS `user_media_list` (
2+
`id_user_media_list` INT NOT NULL AUTO_INCREMENT,
3+
`user_id` INT NOT NULL,
4+
`media_id` INT NOT NULL,
5+
`media_type` VARCHAR(50) NOT NULL,
6+
`status` VARCHAR(50) DEFAULT NULL,
7+
`score` FLOAT DEFAULT NULL,
8+
`progress` INT DEFAULT NULL,
9+
PRIMARY KEY (`id_user_media_list`),
10+
KEY `idx_user_media_list_user` (`user_id`),
11+
KEY `idx_user_media_list_media` (`media_id`),
12+
CONSTRAINT `FK_user_media_list_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id_user`) ON DELETE CASCADE,
13+
CONSTRAINT `FK_user_media_list_media` FOREIGN KEY (`media_id`) REFERENCES `medias` (`id_media`) ON DELETE CASCADE
14+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

0 commit comments

Comments
 (0)