diff --git a/src/main/java/org/tonality/model/Subscription.java b/src/main/java/org/tonality/model/Subscription.java new file mode 100644 index 0000000000000000000000000000000000000000..74deb62753d0bb6b3a556a1f5e86be247e7b550e --- /dev/null +++ b/src/main/java/org/tonality/model/Subscription.java @@ -0,0 +1,38 @@ +package org.tonality.model; + +import org.tonality.type.SubscriptionStatus; + +import org.hibernate.annotations.GenericGenerator; +import org.hibernate.annotations.ColumnDefault; + +import javax.persistence.*; +import java.util.Date; + +@Entity(name = "subscription") +public class Subscription { + @Id + @GeneratedValue(generator = "increment") + @GenericGenerator(name = "increment", strategy = "increment") + @Column(name = "subscription_id") + private long subscriptionId; + + @Column(name = "user_id") + private long userId; + + @Column(name = "album_id") + private long albumId; + + @Column(name = "subscription_status") + @Enumerated(EnumType.STRING) + private SubscriptionStatus status; + + @Column(name = "created_at") + @Temporal(TemporalType.TIMESTAMP) + @ColumnDefault("'CURRENT_TIMESTAMP'") + private Date createdAt; + + @Column(name = "updated_at") + @Temporal(TemporalType.TIMESTAMP) + @ColumnDefault("'CURRENT_TIMESTAMP'") + private Date updatedAt; +} diff --git a/src/main/java/org/tonality/type/SubscriptionStatus.java b/src/main/java/org/tonality/type/SubscriptionStatus.java new file mode 100644 index 0000000000000000000000000000000000000000..5f6c666cd10ae8a4f709160f64e22cf49b991061 --- /dev/null +++ b/src/main/java/org/tonality/type/SubscriptionStatus.java @@ -0,0 +1,8 @@ +package org.tonality.type; + +public enum SubscriptionStatus { + PENDING, + ACTIVE, + REJECTED, + EXPIRED, +}