diff --git a/src/main/java/com/example/solidconnection/siteuser/domain/UserBlock.java b/src/main/java/com/example/solidconnection/siteuser/domain/UserBlock.java new file mode 100644 index 000000000..2e88ff7cf --- /dev/null +++ b/src/main/java/com/example/solidconnection/siteuser/domain/UserBlock.java @@ -0,0 +1,37 @@ +package com.example.solidconnection.siteuser.domain; + +import com.example.solidconnection.common.BaseEntity; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import jakarta.persistence.UniqueConstraint; +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +@Entity +@AllArgsConstructor +@Table(uniqueConstraints = { + @UniqueConstraint( + name = "uk_user_block_blocker_id_blocked_id", + columnNames = {"blocker_id", "blocked_id"} + ) +}) +public class UserBlock extends BaseEntity { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Column(name = "blocker_id", nullable = false) + private long blockerId; + + @Column(name = "blocked_id", nullable = false) + private long blockedId; +} diff --git a/src/main/resources/db/migration/V32__add_user_block_table.sql b/src/main/resources/db/migration/V32__add_user_block_table.sql new file mode 100644 index 000000000..3983d1b85 --- /dev/null +++ b/src/main/resources/db/migration/V32__add_user_block_table.sql @@ -0,0 +1,12 @@ +CREATE TABLE user_block +( + id BIGINT NOT NULL AUTO_INCREMENT, + blocker_id BIGINT NOT NULL, + blocked_id BIGINT NOT NULL, + created_at DATETIME(6) NOT NULL, + updated_at DATETIME(6) NOT NULL, + PRIMARY KEY (id), + CONSTRAINT uk_user_block_blocker_id_blocked_id UNIQUE (blocker_id, blocked_id), + CONSTRAINT fk_user_block_blocker_id FOREIGN KEY (blocker_id) REFERENCES site_user (id), + CONSTRAINT fk_user_block_blocked_id FOREIGN KEY (blocked_id) REFERENCES site_user (id) +);